Git 常用命令速查(工作必备版)
Git 是开发人员必备的分布式版本控制系统,相比集中式版本控制系统,本地即可完成提交、分支、回退等核心操作,仅需在同步时连接远程仓库。本文整理了工作中高频使用的 Git 命令,按功能分类,方便快速查阅。
一、基础初始化与克隆
用于创建本地仓库或克隆远程仓库到本地。
1 2 3 4 5 6 7 8
| git init
git clone <远程仓库地址>
git clone -b <分支名> <远程仓库地址>
|
二、暂存与提交
管理工作区文件的暂存和仓库提交,是日常开发最核心的操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| git status
git add <文件名>
git add <文件1> <文件2>
git add .
git add -p <文件名>
git commit -m "提交备注信息"
git commit -am "提交备注信息"
git stash -u -k
git commit --amend -m "新的提交信息"
|
提示:提交备注建议遵循 Conventional Commits(commitizen)规范,便于团队协作和日志追溯。
三、远程仓库管理
管理本地与远程仓库的关联、地址配置、分支/标签拉取等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| git remote -v
git remote add origin <远程仓库URL>
git remote set-url origin <新的远程仓库URL>
git ls-remote --tags origin
git checkout -b <本地分支名> origin/<远程分支名>
git remote prune origin
git push -u origin <分支名>
|
四、标签管理
用于版本发布标记(如v1.0.0),方便版本回溯。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| git tag
git tag -d <标签名>
git tag <标签名>
git tag <标签名> -m "标签备注信息"
git tag <标签名> <提交哈希值> -m "标签备注信息"
git tag <标签名> HEAD~4
git push origin --tags
git push origin <标签名>
git pull --tags
git push origin :refs/tags/<远程标签名>
|
五、分支管理
分支是Git的核心特性,用于并行开发、bug修复等场景。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| git branch <分支名>
git branch
git checkout <分支名>
git checkout -b <分支名>
git push --set-upstream origin <分支名>
git branch -v git branch -a git branch -r
git merge --no-ff <分支名>
git branch -d <分支名>
git branch -D <分支名>
git branch -m <旧分支名> <新分支名>
git branch -M <旧分支名> <新分支名>
git fetch
git checkout <commitId> <文件路径/文件名>
|
六、变基操作
用于合并多次提交记录,让提交历史更整洁(开发分支常用,避免合并节点混乱)。
七、版本回撤(重置)
用于撤销提交、暂存区/工作区的修改,操作需谨慎!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| git reset HEAD~2 --hard
git reset HEAD -- <文件名>
git reset HEAD
git reset HEAD --soft
git reset HEAD --hard
git reset HEAD^
git reset --hard <commitId>
git push -f -u origin <分支名>
|
八、强制推送
仅在确认本地版本为最终版本、可覆盖远程时使用(高危!)。
九、Git 暂存(stash)
临时保存工作区未提交的修改,切换分支/紧急修复时常用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git stash
git stash list
git stash pop
git stash apply
git stash clear
|
十、Vim 模式操作(Git 配置/忽略文件编辑)
编辑.gitignore、git config等文件时常用Vim操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| vim <文件名>
i esc + :wq esc + :q
git check-ignore -v <文件名>
|
十一、配置管理(凭证、别名、CRLF)
优化Git使用体验,减少重复操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git config --list
git config --global core.safecrlf false
git config --global credential.helper wincred
git config --global alias.ci commit
git helper -a
|
十二、信息查看(日志、差异、文件历史)
12.1 提交日志查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
git log --oneline
git log -n <数字> git log --oneline -5
git log <文件名>
git log --grep <关键词>
git log -p
git log -p -5
|
12.2 版本差异对比
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git diff
git diff --cached
git diff HEAD
git diff <版本1> <版本2>
git diff --cached <tag名>
|
12.3 提交详情/文件历史
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git show HEAD
git show <commitId> git show <tag名>
git show HEAD^
git blame <文件名>
git blame -L 100,110 <文件名>
|
十三、文件操作(重命名、移动、删除)
1 2 3 4 5 6 7 8 9 10 11
| git mv <原文件名> <新文件名>
git mv <文件名> <目标目录>
git rm <文件名>
git rm --cached <文件名>
|
十四、清理工作区
清理未追踪的文件(谨慎使用,避免误删)。
1 2 3 4 5 6 7 8 9 10 11
| git clean -n
git clean -f
git clean -x -f
git status -sb
|
总结
- Git 命令核心围绕「暂存-提交-远程同步」,日常开发优先掌握
add/commit/pull/push/branch/checkout;
- 回撤(reset)、强制推送(-f)、清理(clean)为高危操作,执行前务必确认本地修改已备份;
- stash 是临时保存工作区的神器,分支切换、紧急修复时高频使用;
- 标签(tag)用于版本发布标记,变基(rebase)用于整理提交历史(仅本地/开发分支使用)。