常用 Git 命令备忘

本文最后更新于:2026年3月30日 中午

常用 Git 命令备忘

这篇不打算讲完整教程,主要是把平时最容易忘、最容易写错的 Git 命令整理成一份可随手翻的备忘录。

一、分支相关

1. 创建本地分支

1
2
3
4
# 创建分支但不切换
git branch temp
# 创建分支并切换过去
git checkout -b temp

如果用的是较新的 Git,也可以直接写(gitVersion >= 2.23.0):

1
git switch -c temp

2. 推送本地分支到远程

1
git push origin temp

如果希望顺手建立追踪关系,更常用的是:

1
git push -u origin temp

3. 删除本地分支

1
git branch -d temp

如果分支还没合并,想强制删掉,就用大写的 D

1
git branch -D temp

4. 删除远程分支

现在更直观的写法是(gitVersion >= 2.2.3):

1
git push origin --delete temp

比较老的通用写法是把一个空引用推上去:

1
git push origin :temp

5. 直接拉取远程分支并切换过去

1
git checkout -t origin/temp

如果本地还没有这个分支,这条命令会直接建立本地分支并关联远程分支。

6. 远程分支删掉了,本地还在显示

先看远程和本地分支的对应关系:

1
git remote show origin

再清理本地缓存的远程分支:

1
git remote prune origin

二、标签相关

1. 创建标签

创建普通标签:

1
git tag v2.3.1

创建带注释的标签:

1
git tag -a v2.3.1 -m "2.3.1 源码"

一般来说,正式版本更推荐带注释的标签。

2. 查看和推送标签

查看本地所有标签:

1
git tag

推送单个标签:

1
git push origin v2.3.1

一次推送所有标签:

1
git push origin --tags

3. 删除标签

删除本地标签:

1
git tag -d v2.3.1

删除远程标签:

1
git push origin :refs/tags/v2.3.1

较新的 Git 也可以写成(gitVersion >= 2.2.3):

1
git push origin --delete v2.3.1

如果远程同时存在同名分支和同名 tag,还是建议把 refs/tags/ 写全,避免歧义。

4. 拉取远程某个标签

1
git fetch origin tag v2.3.1

三、撤销与覆盖

1. 本地代码回退到某个提交

1
git reset --hard <commit-hash>

这条命令会直接改写当前工作区和提交历史,危险系数很高,执行之前一定先确认有没有未保存的内容。

2. 强制把本地结果推到远程

1
git push -f origin temp

四、远程仓库相关

1. 修改 remote 地址

正确命令是:

1
git remote set-url origin <new-url>

2. 删除后重新添加 remote

1
2
git remote rm origin
git remote add origin [email protected]:Liutos/foobar.git

如果只是换地址,优先还是用 set-url,没必要先删后加。

五、.gitignore 没生效

有时候你明明把忽略文件加进 .gitignore 了,但它还是继续被提交,通常不是 .gitignore 写错,而是因为这个文件早就被 Git 跟踪过了。

处理方式一般是把缓存清掉,再重新加入:

1
2
3
git rm -r --cached .
git add .
git commit -m "update .gitignore"

六、常见报错

1. 本地和远程历史不相关,代码拉不下来

有一次我遇到的是本地分支和远程分支完全没建立过共同历史,git pull 直接失败。

可以这样处理:

1
git pull origin master --allow-unrelated-histories

这个参数的作用就是允许把两个没有共同祖先的历史合并起来。

七、切换 Git 用户

1. 修改 Git 用户名和邮箱

1
2
git config --global user.name "your_email_prefix"
git config --global user.email "your_email"

2. 重新生成 SSH key

1
ssh-keygen -t rsa -C "your_email"

生成后,把公钥内容加到 Git 平台的个人设置里。常见路径是:

1
~/.ssh/id_rsa.pub

八、不同版本的 git 命令区别


常用 Git 命令备忘
http://bestkele.com/2016/04/06/other/git-bash/
作者
kele
发布于
2016年4月6日
许可协议