我在GIT中有以下工作流程。
*Master: feature1 -- feature2 -- hotfix1
\
*Feature tkt1
功能分支上的git rebase master给出了以下结果。
tkt-1
hotfix-1
feature-2
feature-1
我预计hotfix-1将位于tkt-1之上,因为master已在newfeature分支上重新定位。
答案 0 :(得分:1)
我相信您只是看到 应该从git rebase
看到的结果。这就是master
和feature
分支在rebase之前的样子:
master: f1 -- f2 -- hf1
\
feature: tkt1
master
和feature
分支之间最近的常见提交是提交feature2
。然后你做了以下事情:
git checkout feature
git rebase master
Git在master
分支之上的常见f2
提交后,在feature
中播放了提交,然后重新提交tkt-1
提交。这使您的分支看起来如下所示:
master: f1 -- f2 -- hf1
\
feature: tkt1' (The apostrophe indicates this is a new commit)
或者,为了使用您的符号,rebase将feature
分支留下以下历史记录:
tkt-1
hotfix-1
feature-2
feature-1