2017-10-06 106 views
3

我的情况下,类似于这样这只是我的特性分支有很多更承诺我如何正确地重新绑定如果我的分支有很多提交?

enter image description here

这是在此期间也影响了我的特性分支犯下的错误修复。这就是为什么我想将我的功能分支重新分配给主人。

我试图做到这一点与git rebase master(在我的功能分支),最终在混乱。由于我的功能分支提交的提交数量很高,因此rebase需要永久存在,并且我在rebase进程及其所有冲突,更旧的提交以及之后都会丢失概述。

如何在这种情况下正确地做到这一点?我究竟做错了什么?

+0

'GIT中变基master'的可破坏feature'分支和'sub_feature' branc之间'的关系H。您最好将'feature'分支合并到'master'中,然后将'feature'分支快速合并到合并提交中。这样可以清楚地保存提交历史记录。 –

回答

0

如果你想变基你的整个历史,你会以某种方式需要重新发挥每一个人对主的顶部提交,也做一些额外的工作,以保持sub-feature -> feature合并。

我建议不要这样做。为了bugfix融入你feature分支,你可以:

  • 合并主(连同其bug修正)为特征:

    git checkout feature 
    git merge master 
    

    这将是这样做的最直接,最git -ish方式

  • 樱桃挑bugfix提交到特征:

    git checkout feature 
    git cherry-pick bugFix 
    

    它不是做最彻底的方法,但可以肯定的作品
    后来,你可能要记住,bugFix是存在于两个分支合并featuremaster的时候,如果你对修改的文件冲突bugfix

  • 第一简化的featuresub-feature历史,以及重订上主简化版本

+0

我确实跟着合并。这工作没有进一步的问题。最后,我将合并功能分支回主。我仍然需要得到一个使用git .... –

0

'继续失去概述'听起来像是你用Git使用的UI的问题。许多人喜欢终端,它确实非常强大,但git不是一个直观的方案,终端使情况变得更糟。

我已经使用TortoiseGit完成了较大的数据重组,其中包含多重合并冲突,这些冲突仅导致了表面上合适的挫折级别。

学习一个新的git工具当然是这个问题的一个麻烦的解决方案。然后我会再推荐一个适当的用户界面作为基于文本的控制台的替代方案。这不像终端消失!

第二个选项将合并masterfeature,如果你想有一个良好的线性提交历史这可能不是一个很好的选择。

相关问题