我的工作流程如下:有一个叫做develop的主分支,它应该总是有合格的测试。在功能工作时,我创建了一个新的分支与这张票的工作:如何在下面的场景中更有效地使用git rebase
git checkout -b feature_name
然后为它创建一个远程跟踪分支:
git push -u origin feature_name
然后我一直在犯这个分支,有时我从开发合并到这个:
git checkout develop; git pull; git checkout feature_branch; git merge develop
这样分支不断从develop分支得到更新。
当我做了,我合并这个分支到开发和推动:
git checkout develop; git pull; git merge feature_branch; git push
它使用git的拉动战略合并。但是当我这样做时,有时我的承诺会显示在顶部,有时候会在其他地方显示,有时会散布,所以很难看到我做了什么。我想知道如何在上面的scanario中使用rebase,以便我的提交历史显示在最前面。
我根本不使用rebase,所以我不重置远程提交! – umar 2012-03-12 07:30:18
因此,根据你的回答,在我的工作流程中,我用git-rebase命令替换了所有的git-merge命令,那就是了? – umar 2012-03-12 07:30:54
复制你的项目并在没有'git push'的情况下尝试这些命令。在这种情况下,你不会搞乱你的遥控器。 (如果我尝试新的 - 也许是破坏性的功能,我总是这样做)。如果你重新绑定,你的历史将会更清晰,因为没有合并提交。如果你重新起源,那么你不必结账/拉/结帐/合并。 – Vili 2012-03-12 07:37:16