常用 Git 命令备忘
本文最后更新于:2026年3月30日 中午
常用 Git 命令备忘
这篇不打算讲完整教程,主要是把平时最容易忘、最容易写错的 Git 命令整理成一份可随手翻的备忘录。
一、分支相关
1. 创建本地分支
1 | |
如果用的是较新的 Git,也可以直接写(gitVersion >= 2.23.0):
1 | |
2. 推送本地分支到远程
1 | |
如果希望顺手建立追踪关系,更常用的是:
1 | |
3. 删除本地分支
1 | |
如果分支还没合并,想强制删掉,就用大写的 D:
1 | |
4. 删除远程分支
现在更直观的写法是(gitVersion >= 2.2.3):
1 | |
比较老的通用写法是把一个空引用推上去:
1 | |
5. 直接拉取远程分支并切换过去
1 | |
如果本地还没有这个分支,这条命令会直接建立本地分支并关联远程分支。
6. 远程分支删掉了,本地还在显示
先看远程和本地分支的对应关系:
1 | |
再清理本地缓存的远程分支:
1 | |
二、标签相关
1. 创建标签
创建普通标签:
1 | |
创建带注释的标签:
1 | |
一般来说,正式版本更推荐带注释的标签。
2. 查看和推送标签
查看本地所有标签:
1 | |
推送单个标签:
1 | |
一次推送所有标签:
1 | |
3. 删除标签
删除本地标签:
1 | |
删除远程标签:
1 | |
较新的 Git 也可以写成(gitVersion >= 2.2.3):
1 | |
如果远程同时存在同名分支和同名 tag,还是建议把 refs/tags/ 写全,避免歧义。
4. 拉取远程某个标签
1 | |
三、撤销与覆盖
1. 本地代码回退到某个提交
1 | |
这条命令会直接改写当前工作区和提交历史,危险系数很高,执行之前一定先确认有没有未保存的内容。
2. 强制把本地结果推到远程
1 | |
四、远程仓库相关
1. 修改 remote 地址
正确命令是:
1 | |
2. 删除后重新添加 remote
1 | |
如果只是换地址,优先还是用 set-url,没必要先删后加。
五、.gitignore 没生效
有时候你明明把忽略文件加进 .gitignore 了,但它还是继续被提交,通常不是 .gitignore 写错,而是因为这个文件早就被 Git 跟踪过了。
处理方式一般是把缓存清掉,再重新加入:
1 | |
六、常见报错
1. 本地和远程历史不相关,代码拉不下来
有一次我遇到的是本地分支和远程分支完全没建立过共同历史,git pull 直接失败。
可以这样处理:
1 | |
这个参数的作用就是允许把两个没有共同祖先的历史合并起来。
七、切换 Git 用户
1. 修改 Git 用户名和邮箱
1 | |
2. 重新生成 SSH key
1 | |
生成后,把公钥内容加到 Git 平台的个人设置里。常见路径是:
1 | |
八、不同版本的 git 命令区别
