修改历史的提交
-
rebase
通过git rebase -i
将要修改的提交提到最前端,
然后修改,再通过git commit --amend
提交该记录,最后通过git rebase -i
在替换会原始的位置
(该过程中有可能会产生rebase confict) -
cherry-pick
cherry-pick 可以将提交树上任何地方的提交记录取过来追加到 HEAD 上(只要不是 HEAD 上游的提交就没问题)。
Tag
分支只是指向某个提交记录
提交树是提交记录以链式结构构成的
分支很容易被人移动
git tag v1 commitID
给commitID所对应的提交打上Tag标记
如果不指定提交记录,Git 会用 HEAD 所指向的位置。
Describe
TODO
多分支Rebase
git rebase A B
这条命令我总结为后来居上(这条命令中A分支相对与B分支在前),结果是B分支的提交记录相对与A分支的提交记录新
(A变成B的基础分支,变基大概是这个意思吧)
注意:两个分支指向的提交记录链不同之处从分支点之后开始的,因此rebase的时候也是
提交记录链从不同之处
开始变基的,并且会跳过相同的提交记录,如果有的话。
git rebase A
表示 A作为当前分支的基础
git branch
git branch 分支名 commitID
在commitID上创建分支
git merge 分支名
将分支名
指向的提交记录合并到当前分支
git cherry-pick
一图胜过万语