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"
        
相关推荐
ShineWinsu19 小时前
对于Git:远程操作的超详细保姆级解析
linux·git·gitee·github·远程仓库·分布式版本控制系统·远程操作
梦帮科技19 小时前
从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环
javascript·git·架构·node.js·reactjs·html5·visual studio
zho_uzhou2 天前
Git入门概念
git
爱奥尼欧2 天前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git
Java后端的Ai之路2 天前
Git冲突完整排查与实战:本地修改覆盖报错到成功推送全流程复盘
开发语言·人工智能·git·python·pop
一个心烑2 天前
配置项目git的 SSL 证书
git·网络协议·ssl
IT从业者张某某2 天前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
xinjia_ctrl2 天前
暑假实习总结
git·后端·spring·maven·intellij-idea
Molesidy3 天前
【Git】分别给出添加到Keil工程和IAR工程中的gitnore文件以便不跟踪编译文件的git记录
git·vscode·插件
颜颜yan_3 天前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos