Menu
CoddyTech

Git 速查表

最后更新

安装后的配置

一次性设置,让你的提交署上正确的作者信息。

命令作用
git config --global user.name "Ada"设置提交时使用的名字
git config --global user.email you@x.com设置提交时使用的邮箱
git config --list显示当前的全部配置
git config --global init.defaultBranch main把新仓库的第一个分支命名为 main
git config --global core.editor "code --wait"设置默认编辑器
git --version输出已安装的 Git 版本

创建与克隆仓库

新建一个仓库,或者复制一个已有的仓库。

命令作用
git init在当前文件夹中创建新仓库
git clone <url>把远程仓库复制到本地
git clone <url> mydir克隆到指定名称的文件夹
git clone --depth 1 <url>浅克隆(只取最新一次提交)
git clone -b dev <url>克隆并检出 dev 分支

暂存与提交

把改动记录到项目历史中。

命令作用
git add file.txt暂存一个文件
git add .暂存当前目录下的所有改动
git add -p交互式地暂存选中的代码块
git commit -m "message"提交已暂存的改动
git commit -am "message"暂存已跟踪的文件并提交
git commit --amend修改最近一次提交
git rm file.txt删除文件并暂存这次删除

分支

在互不干扰的环境中开发改动。

命令作用
git branch列出本地分支
git branch feature创建新分支
git switch feature切换到已有分支
git switch -c feature一步完成创建并切换
git checkout feature切换分支的旧写法
git branch -d feature删除已合并的分支
git branch -m newname重命名当前分支

合并与 rebase

把两个分支上的工作合到一起。

命令作用
git merge feature把 feature 合并到当前分支
git merge --no-ff feature始终创建一个合并提交
git rebase main把你的提交重放到 main 之上
git rebase -i HEAD~3交互式地编辑最近 3 次提交
git rebase --continue解决冲突后继续 rebase
git rebase --abort取消正在进行的 rebase
git cherry-pick <hash>把某一次提交应用到当前分支

远程仓库(push、pull、fetch)

让本地仓库与 GitHub 等远程仓库保持同步。

命令作用
git remote -v列出已配置的远程仓库
git remote add origin <url>关联一个名为 origin 的远程仓库
git fetch下载远程改动,但不合并
git pull拉取并合并远程分支
git push把提交推送到远程仓库
git push -u origin main推送并设置上游分支
git push origin --delete feature删除远程分支

查看状态(status、log、diff)

看看改了什么、现在是什么情况。

命令作用
git status显示已暂存、未暂存和未跟踪的文件
git log显示提交历史
git log --oneline --graph带分支图的精简历史
git diff未暂存的改动与暂存区的差异
git diff --staged已暂存的改动与最近一次提交的差异
git show <hash>显示某一次提交的改动
git blame file.txt显示每一行最后是谁改的

撤销改动

安全地挽回失误。

命令作用
git restore file.txt丢弃文件中未暂存的改动
git restore --staged file.txt取消暂存文件(保留改动)
git reset --soft HEAD~1撤销最近一次提交,改动保留在暂存区
git reset --hard HEAD~1撤销最近一次提交并丢弃改动
git revert <hash>新建一次提交来撤销另一次提交
git stash把改动暂时收起来,稍后再用
git stash pop重新应用最近一次 stash

你会用到的每条 Git 命令,全都在这一页。这份 Git 速查表是日常版本控制的快速参考:配置 Git、暂存和提交、创建分支、合并与 rebase、与远程仓库同步,以及撤销误操作。

这些都是标准 Git 命令,在 Linux、macOS 和 Windows 上用法完全一样。需要什么就复制什么,也可以在终端在线编辑器里直接试试:浏览器里就有一个真正的 shell,无需安装任何东西。

Git 速查表常见问题

这份 Git 速查表免费吗?

免费。这份 Git 速查表完全免费,无需注册。把它加入书签,需要查分支、提交或撤销改动的命令时随时回来看。

merge 和 rebase 有什么区别?
git merge 通过创建一个新的合并提交把两个分支连在一起,完整保留两边原本的历史。git rebase 则把你的提交逐个重放到另一个分支之上,得到一条没有合并提交的线性历史。merge 安全、不会破坏历史;rebase 让历史更整洁,但会改写提交,所以不要对别人已经拉取过的分支执行 rebase。
如何在 Git 中撤销一次提交?
要看你是否已经推送过。对于本地提交,git reset --soft HEAD~1 会撤销最近一次提交,但把改动保留在暂存区;git reset --hard HEAD~1 则会彻底丢弃这些改动。对于已经共享出去的提交,用 git revert <hash> 新建一次提交来抵消它,不会改写历史。
可以在线练习 Git 命令吗?

可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行 Git 命令,无需安装任何东西。想系统地学,Coddy 免费的交互式 Git 课程会带你一步步从第一次提交学到分支、合并和远程仓库。

这份速查表适合初学者吗?

适合。内容从配置和提交(日常基础)排到 rebase 和撤销改动,第一天就能用上前面的部分,再逐步掌握进阶的工作流程。

Coddy 编程语言插图

在 Coddy 学习 Git

开始