分支

git checkout 分支 # 切换分支
git checkout -b 分支 # 创建并切换分支
git merge bugFix # 将bugFix分支合并到当前分支
git rebase master # 将所在分支rebase到master分支下

相对引用

git checkout master^ # 切换到master的父节点
git checkout master^^ # 切换到master的父节点的父节点
git checkout master~ # 切换到master的父节点
git checkout HEAD~5 # 切换到HEAD的第5个父节点
git branch -f master HEAD~3 # 让master强制指向HEAD的第3级父提交

撤销变更

# reset 只能用在本地分支,不保留提交记录
# revert 保留提交记录并用一个新的提交记录来表明撤销变更
git reset HEAD~1 # 撤回到HEAD的1父节点
git revert HEAD~2 # 撤销掉第前3个commit

整理提交

git cherry-pick 提交 提交2 # 将一个或多个提交按顺序复制到本提交下面

交互式rebase

git rebase -i HEAD~3 # 整理向上3个提交