GIT - 常用命令合辑

目录

查看与提交记录

提交代码

分支管理

远程分支操作

同步与回滚

切换到远程分支,对远程仓库做检查

[合并与打 Tag](#合并与打 Tag)

Tag管理

[Commit 模板](#Commit 模板)

解析


查看与提交记录

bash 复制代码
# 查看最近一次提交
git log -1
git log --oneline -1
git log --oneline -5

# 进入vim,修改最近一次 commit 
git commit --amend

# 查看差异(工作区 vs 暂存区)
git diff

# 查看差异(本地分支 vs 远程分支)
git diff myBL4.1 origin/renault_pcu/BL4.1
git diff <本地分支>   <远程分支>
        

提交代码

bash 复制代码
#添加所有改动
git add .
git add . --ignore-error
git status 

# 提交,带 message
git commit -m "feat:描述提交的功能"

# 修改最后一次提交(不改内容,只改 message)
git commit --amend -m "fix: 修正提交说明"
提交规范:feat | fix | refactor | chore | docs

分支管理

bash 复制代码
# 查看所有分支
git branch
git branch -r
git branch -a
git branch -vv 

# 新建分支并切换(会从当前分支复制完整的提交历史和源代码)
git checkout -b myBL4.1.4

# 切换到已有分支
git checkout myBL4.1
git checkout origin/renault_pcu/BL4.1

# 删除本地分支
git branch -D tempCheckBL4.1

# 重命名本地分支
git branch -m  <旧分支名>  <新分支名>

# 新建一个空白分支
git checkout --orphan  empty-branch
git rm -rf . 
git commit --allow-empty -m "Initial commit in empty branch "
        

远程分支操作

bash 复制代码
# 将本地分支与远程分支关联
git branch --set-upstream-to=origin/renault_pcu/BL4.1.4 myBL4.1.4

# 获取远程最新分支状态(不会合并)
git fetch origin

# 拉取并合并远程分支
git pull origin myBL4.1

# 推送本地分支到远程
git push origin myBL4.1

# 推送到 Gerrit 代码审查
git push origin myBL4.1:refs/for/renault_pcu/BL4.1
git push origin <本地分支>:<代码审查请求><远程分支>
        

同步与回滚

bash 复制代码
#把本地分支重置为远程最新状态
git reset --hard origin/renault_pcu/BL4.1

# 撤销未提交的修改
git checkout -- filename

# 撤销暂存区的文件(保持修改)
git restore --staged filename

# 回退到指定提交
git reset --hard <commit-id>
        

切换到远程分支,对远程仓库做检查

bash 复制代码
#同步远程分支到本地
git fetch origin 

# 临时切远程分支
git checkout -b tempCheckBL4.1 origin/renault_pcu/BL4.1

# 看完后清理->先切离temp分支
git checkout myBL4.1

# 看完后清理->再删除temp分支
git branch -D tempCheckBL4.1

合并与打 Tag

bash 复制代码
# 查看最近一次 commit 简要信息
git log -1 --oneline

# 合并 feature 分支到当前分支
git merge feature-driver

# 打 Tag(带说明)
git tag -a vBL4.1_merge_BL4.1.6 -m "add BL4.1.6 to BL4.1 0725"

# 推送 Tag
git push origin vBL4.1_merge_BL4.1.6

Tag管理

bash 复制代码
# 查看所有 Tag
git tag

# 查看远程所有 Tag
git ls-remote --tags origin

#删除本地 Tag
git tag -d v0.1.0

# 删除远程 Tag
git push origin :refs/tags/v0.1.0

# Gerrit网页中新建tag的格式
renault_pcu/tag_xxx
renault_pcu/tag_BL4.1MergeFromBL4.1.6

Commit 模板

bash 复制代码
add 4.1.6 XCU_Real_xxx_BL4.1.4:BL4.1

add 4.1.6 XCU_Real_xxx_BL4.1.4:BL4.1
Test: ok
Author: xxx@xxx.com

Ticket: 999999
Signed-off-by: xxx xxx@xxx.com


其中:type in summary must be one of "new/created/fix/modify/patch/refactor/add"
        
相关推荐
csdn_aspnet2 小时前
Git Submodule深度避坑指南,破解子模块同步混乱、版本漂移、CI失败等高频协作痛点
git·ci/cd·submodule·checklist·detached·subtree
一个程序猿老马2 小时前
011、更优雅的合并:git rebase变基操作详解
git
zhensherlock6 小时前
Protocol Launcher 系列:Working Copy 文件操作与高级命令详解
javascript·git·typescript·node.js·自动化·github·js
摆烂z19 小时前
AI同时完成多个功能(Git WorkTree)
git
___波子 Pro Max.1 天前
Git Worktree 可视化理解指南
git
happymaker06261 天前
git使用快速入门
git
不做超级小白1 天前
从零到可用:在手机上用 Termux + Git + Obsidian 打造稳定同步环境(踩坑全记录)
git·智能手机
凡客丶1 天前
Git安装与使用保姆教程【超详细】
git
android_cai_niao1 天前
给Git项目添加多个远程仓库
git·gitee·github