由于在PHP-SRC开发商最近,我发现自己在以下情况:衍合到具有不平凡的合并上游变化承诺局部存在
A B C
o---o---o version1
\
o---o-----o---o master
x y D E
o---o---o upstream/master
x y z
所以,当我做git push --dry-run upstream master version1
我得到的典型:
! [rejected] master -> master (fetch first)
我的自然反应就是变基受影响的分支,并保留合并提交:
git fetch upstream
git rebase -p upstream/master
重要的是要注意原始合并提交并不重要,因为版本分支和主控之间有太多的变化;它需要努力解决这种合并问题。
做上述rebase操作导致合并冲突,我必须再次解决它;这几乎与我已经完成的工作完全一样。
有没有更好的方法来做到这一点?还是我忘记了明显的rebase选项?
你*有*吗?我通常也会变质,但我也一直处于你不适合的地步,然后以标准合并的方式进行。 – musiKk 2014-09-02 07:55:25
当然,我可以推'D,E,M(Z)'而不是'D',E'',但我更愿意保持历史尽可能干净,因为我可以:) – 2014-09-02 08:20:19
我听到你的声音。这取决于你的情况。我从事合并工作需要数小时。我对清洁历史的热爱至今依然存在。 :) – musiKk 2014-09-02 08:23:11