高级话题
分离HEAD,将HEAD指向某个提交记录(而不是分支名)
git checkout 提交记录名
相对引用1 (将HEAD指向main父节点的父节点main^^)
git checkout main^^
相对引用2 (将HEAD指向main的第二个父节点)
git checkout main^2
相对引用3,这三种引用可以链式连接
git checkout main~2
移动分支(将分支移动到某个提交记录/分支上)
git branch -f 分支名 提交记录名/分支名
撤销本地分支的提交
git reset 提交记录名
撤销远程分支的提交
git revert HEAD
移动提交记录
修改提交树
git cherry-pick 分支名/提交名
交互式rebase,在UI界面中操作提交记录
git rebase -i 提交记录名
只取一次提交记录
git rebase -i Head~3
git branch -f main bugFix
打标签
git tag 标签名 提交记录名
远程追踪(创建名为dev的分支,并让其追踪到o/main)
git checkout -b dev o/main