基础篇
-
undo
撤销一次更改 -
git commit
进行一次更改 -
git branch name
创建一个名为 name 的分支
分支:可以理解为树分叉,每次选一个分叉进行开发
-
git checkout name
切换到name的分支上 -
git checkout -b name
创建一个分支并转移到分支上 -
git merge name
将当前所在分支合并到name -
git rebase name
将当前分支与name分支的另一种合并方法
高级篇
head相当于当前指向位置
-
git checkout hashval(绝对引用)
将head移动到对应hashval的节点上 -
git checkout name^
(相对应用)
表示将head指向name提交位置的父节点 -
git checkout name~x
(相对引用)
表示将head指向name提交位置后退x次的节点 -
使用相对引用最多的地方:移动分支
git branch -f main HEAD~3
表示将main分支强制指向HEAD的第三级父提交 -
git reset name ~x/^
改写历史,回到若干个节点前,已经改变的从未发生过,但仅对本地而言。
对于多人使用的远程分支是无效的。 -
git revert name ~x/^
前进一个节点,但新建的节点与回溯到的节点相同
进阶
高级以上已经可应付90%,接下来是在复杂工作流中使用
git cherry-pick <提交号>
将选择的提交号节点按顺序复制到当前head下git rebase -i name ~x/^
将从HEAD当所选父节点的所有节点到可视化界面进行选择重排,复制到所选父节点下