Git 学习起来出奇地容易。我只用了大约一个小时就理解了其核心概念,并掌握了在实际开发环境中几乎 90% 的常用命令。我真希望自己能在与他人合作之前,早点花这一个小时坐下来,认真地学习它。

我发现一个名叫 learn git branching(学习 Git 分支)的项目极其好用,下面是我在学习完该项目后整理的速查表。

编辑

git branch <newBranch>
该命令用于创建一个名为 <newBranch> 的新分支。
创建新分支

git commit
该命令将在当前提交之上创建一个新的提交(commit)。
提交更改

git reset
该命令将撤销所有更改,并将你带回到父级提交。
重置提交

移动

git checkout <branch>
该命令会将你带到指定分支指针所指向的提交。
切换分支

git checkout <commit hash>
该命令将 HEAD 指针移动到指定的提交。
切换到哈希

git checkout HEAD^
该命令将 HEAD 移动到当前提交的父提交。
切换到父级 HEAD

git checkout HEAD~<level>
该命令将 HEAD 指针向上移动 <level> 个层级。

高级编辑

git rebase <branch>
该命令执行两个任务:首先,制作当前分支的副本,然后将其粘贴(变基)到指定分支的顶部。
变基

git merge <branch>
该命令将把指定分支合并到当前分支中。
合并分支

git revert <commit hash> | <branch>
该命令将创建一个新的提交,这个新提交是指定提交(由哈希值或分支名指定)的副本。

复制

git cherry-pick <commit hashes>
该命令将制作所选提交的副本,并将其放在当前分支的顶部。

挑选提交

git rebase -i <commit hash>
这将弹出一个文件。修改该文件后,你将根据文件中的指示更改分支结构。这比 cherry-pick 稍微复杂一些,但它只是完成相同任务的另一种方法。我将另发一篇博客详细讨论这个命令。