鉴别一下网络热门Git命令。

日常开发常用命令

这些是最常用的,基本上每天都会用到。

基本操作

# 克隆仓库
git clone <url>

# 查看当前状态
git status

# 添加文件到暂存区
git add <file>           # 添加单个文件
git add .                # 添加所有修改
git add -A               # 添加所有修改(包括删除)

# 提交更改
git commit -m "提交信息"

# 拉取最新代码
git pull

# 推送到远程
git push

分支操作

# 查看所有分支
git branch               # 查看本地分支
git branch -a            # 查看所有分支(包括远程)

# 创建分支
git branch <branch-name>

# 切换分支
git checkout <branch-name>
git switch <branch-name> # Git较新版本推荐

# 创建并切换到新分支
git checkout -b <branch-name>
git switch -c <branch-name>

# 删除分支
git branch -d <branch-name>      # 删除本地分支
git push origin --delete <branch-name>  # 删除远程分支

查看差异

# 查看工作区和暂存区的差异
git diff

# 查看暂存区和上一次提交的差异
git diff --cached

# 查看两次提交之间的差异
git diff <commit1> <commit2>

查看历史

# 查看提交历史
git log

# 简洁的提交历史
git log --oneline

# 查看最近N条提交
git log -n

# 查看分支图
git log --graph --oneline

高级用法

这些用法在处理复杂场景时很有用。

1. 暂存工作区(git stash)

有时候你在当前分支改了一半,突然需要切换到其他分支处理问题。代码还没写完不想提交,可以用stash先暂存起来。

# 暂存当前修改
git stash

# 暂存并添加说明
git stash save "说明信息"

# 查看暂存列表
git stash list

# 恢复最近的暂存
git stash pop

# 恢复指定暂存
git stash apply stash@{n}

# 删除暂存
git stash drop stash@{n}

使用场景:你在开发功能,突然有个紧急bug要修。先stash暂存,改完bug再回来继续开发。

2. 修改提交(git commit --amend)

提交后发现信息写错了,或者漏加了文件,可以用amend修改。

# 修改最近一次提交的信息
git commit --amend

# 修改最近一次提交的信息(不修改内容)
git commit --amend -m "新的提交信息"

# 把暂存区的文件加入到最近一次提交
git commit --amend --no-edit

注意:amend会改变提交历史,如果已经push到远程,慎用。

3. 撤销操作

有时候会改错或者提交错,需要撤销。

# 撤销工作区的修改(恢复到暂存区状态)
git checkout -- <file>

# 撤销暂存区的修改(保留到工作区)
git reset HEAD <file>

# 撤销最近一次提交(保留修改到工作区)
git reset --soft HEAD~1

# 撤销最近一次提交(不保留修改)
git reset --hard HEAD~1

# 回到指定提交(不保留修改)
git reset --hard <commit-hash>

4. cherry-pick(挑选提交)

有时候想把某个分支的某个提交应用到当前分支。

# 把指定提交应用到当前分支
git cherry-pick <commit-hash>

# 挑选多个提交
git cherry-pick <commit1> <commit2>

使用场景:你在feature分支修了个bug,想把这个修复单独应用到master分支,但又不想合并整个feature分支。

5. rebase(变基)

rebase可以把一系列提交整理成更清晰的历史。

# 把当前分支的提交变基到目标分支
git rebase <target-branch>

# 交互式rebase,可以编辑、删除、合并提交
git rebase -i HEAD~n  # n是要操作的提交数量

使用场景一:你的分支从master拉出来后,master又有新提交。你想让master的最新代码成为你分支的基础,可以:

git checkout feature
git rebase master

使用场景二:你想把最近3个提交合并成一个。可以:

git rebase -i HEAD~3

然后在编辑器里把后面两个提交改成squashs,保存退出。Git会打开编辑器让你写合并后的提交信息。

rebase的注意事项

  • 只在本地分支使用rebase
  • 不要对已经push的提交做rebase
  • rebase会改变提交历史,多人协作时要小心

6. 查看某个文件的修改历史

想看某个文件是谁改的、什么时候改的。

# 查看文件的所有提交记录
git log <file>

# 查看文件的详细修改
git log -p <file>

# 查看文件每一行的修改信息
git blame <file>

使用场景:某段代码不知道谁写的、为什么要这样写,用blame一下就知道了。

7. 搜索代码

# 在所有提交中搜索包含指定内容的提交
git log -S "搜索内容"

# 在当前代码中搜索
git grep "搜索内容"

8. 打标签

发布版本时可以打标签。

# 创建标签
git tag v1.0.0

# 给指定提交打标签
git tag v1.0.0 <commit-hash>

# 查看所有标签
git tag

# 推送标签到远程
git push origin v1.0.0
git push origin --tags    # 推送所有标签

# 删除标签
git tag -d v1.0.0         # 删除本地标签
git push origin --delete v1.0.0  # 删除远程标签

实际场景举例

场景一:功能开发到一半,需要紧急修bug

# 1. 暂存当前工作
git stash

# 2. 切换到master
git checkout master

# 3. 拉取最新代码
git pull

# 4. 创建fix分支
git checkout -b fix/bug-xxx

# 5. 修复bug并提交
git add .
git commit -m "修复xxx问题"

# 6. 推送到远程
git push origin fix/bug-xxx

# 7. bug修完了,回到功能分支
git checkout feature

# 8. 恢复之前暂存的工作
git stash pop

场景二:提交后发现漏加了文件

# 1. 把漏掉的文件加到暂存区
git add <file>

# 2. 修改最近一次提交
git commit --amend --no-edit

场景三:想把最近3个提交合并成一个

# 1. 交互式rebase
git rebase -i HEAD~3

# 2. 在编辑器里,把第一个提交保留为pick,
#    后面两个改成squash或s

# 3. 保存后,Git会打开编辑器让你写合并后的提交信息

场景四:分支拉出来很久了,想同步master的最新代码

# 方式一:用merge(会有合并提交)
git checkout feature
git merge master

# 方式二:用rebase(历史更清晰)
git checkout feature
git rebase master

场景五:把某个提交从feature分支单独应用到master

# 1. 切换到master
git checkout master

# 2. 找到要应用的提交hash
git log feature

# 3. cherry-pick这个提交
git cherry-pick <commit-hash>

其他实用技巧

1. 配置别名

有些命令太长,可以设置别名。

# 设置别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.visual 'log --graph --oneline'

# 使用
git st           # 等同于 git status
git co master    # 等同于 git checkout master

2. 查看某个命令的详细帮助

git help <command>
git <command> --help
man git-<command>

3. 查看某个文件的远程地址

git remote -v

4. 清理未跟踪的文件

# 查看哪些文件会被删除(只是查看)
git clean -n

# 删除未跟踪的文件
git clean -f

# 删除未跟踪的文件和目录
git clean -fd

# 删除ignored文件
git clean -fX

最后

Git命令很多,但常用的其实就那些。

掌握日常开发的基本命令,再了解几个高级用法,基本就够用了。

遇到问题不要慌,Git大部分操作都是可以撤销的。实在不行就查文档,或者问问AI。

我把这些命令整理出来,以后想用直接查。也希望能帮到你。

如果觉得有用,可以收藏一下,说不定哪天就用上了。

最后修改:2026 年 01 月 25 日
如果觉得我的文章对你有用,请随意赞赏