我和另一位开发人员已经在主题分支topic
上工作了几天。我们一直在通过推送和合并来自共享仓库的topic
来共享更改。
我们也经常与master
合并。所以,现在,我们的日志显示我们的提交穿插了master的后续提交。
我想要改变所以我们的提交都是在主人之后。我们处理的文件中存在大量冲突,但我知道我想在所有情况下都使用topic
版本。
我尝试了git rebase -s recursive -X ours origin/master
,但其中包括topic
版本和master
版本,这是非常错误的。我想只包含我工作过的topic
版本的文件。
然后我尝试git rebase -s ours origin/master
,但这似乎删除了我的提交。
在topic
?
答案 0 :(得分:2)
在改变期间,“我们的”和“他们的”被颠倒了。
答案 1 :(得分:2)
不是一个有趣的情况。也许你正在尝试的某些变体会起作用,但我会尝试不同的东西。
让我们调用合并提交M1,M2,...,MN
git reset M1 ^ 1
git rebase M1 ^ 2
记录结果,例如git tag topic-rebased1
git reset M2 ^ 1
git rebase --onto topic-rebased1 M1
git rebase M2 ^ 2
返回(3)并重复,直到您重新定位所有合并
你真正需要的是将来做这件事的策略,不要陷入这种混乱。
我建议像:
完成您之前所做的工作,除了让一个人负责将主人合并到主题分支
负责合并的人员还设有一个公司。每次他们将master合并到非rebasing分支时,他们还会将最新的更改从非rebased分支重新绑定到rebasing分支,然后将rebase分支重新绑定到master
是的,我知道 - 很糟糕。