1.四区:工作区、暂存区、本地库、远端库
2.git rebase + 分支a:将当前分支与a不一致的提交全部复制到分支a上
git rebase + 分支a + 分支b:将分支b的内容复制到分支a下
3.git checkout + 节点commitID:分离头指针到指定提交节点(头指针HEAD一般指向分支名)
git checkout + 分支名:切换到指定分支
git checkout -b + 分支A:创建并切换到分支A
4.相对引用:
^:指向上一个节点
~+num:指向上num个节点
eg. git reset HEAD^ 撤销本地库提交,回到上一次提交的状态
5.git branch + 分支A:切换到分支A
git branch -f + 分支A HEAD~3:将分支A指向HEAD之前的第三次提交
6.git reset:撤销本地库提交
git revert:撤销远端库提交
7.git cherry-pick + 节点commitID:将指定节点的提交复制到当前分支下
8.git rebase -i + 节点commitID:将指定节点后的提交重新排序选择是否提交
9.git tag + 标签名 + 节点commitID:设置标签
10.git describe <ref>:查找距离ref提交最近的标签
输出格式为<tag>_<numCommits>_g<hash>,tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位
当 ref 提交记录上有某个标签时,则只输出标签名称
11.git fetch:下载远端库的更新并移动o/main远端分支
12.git pull:git fetch + git merge
13.远程追踪:
git branch -u o/main foo:foo 就会跟踪 o/main
git checkout -b totallyNotMain o/main:创建一个名为 totallyNotMain 的分支,它跟踪远程分支 o/main
14.git push + 库名:将本地更新提交到指定库名的远端库
git push origin <source>:<destination>:同时为源和目的地指定 <place> ,用冒号 : 将二者连起来
15.git merge 分支A:将分支A的节点都合并入当前节点