在git rebase之后发生新提交时该怎么办?

时间:2016-11-26 19:35:01

标签: git merge rebase

我刚刚完成了一个特别毛茸茸的rebase(有人在一个分支上工作了几个星期而没有任何变调。)我花了大概两三个小时,因为我使用的“人类可读”格式只是一堆ID和参考。

当我做这个rebase时,在我有机会推销rebase的结果之前,有两个提交出现在分支上。

有没有最佳做法来获取这些新提交而无需重新进行rebase或诉诸合并?我最初的想法是,我可以选择那些新的提交和git push -f,但那会不会令人讨厌?

2 个答案:

答案 0 :(得分:2)

你应该能够再次修改你的提交。

唯一的问题是您必须重新制作冲突解决方案,因为您没有激活git rerere

嗯,......你不必使用rerere-train.sh script 见" Do you even rerere?" Tristan Roussel

  

在这种最简单的形式中,脚本从您指定的提交开始,并通过每个父提交来查找冲突。

这将允许您记录那些过去的冲突解决方案,并再次进行rebase,而无需再次进行。

答案 1 :(得分:-1)

cherry-pick仅用于合并特定提交,但如果您的分支包含许多需要合并的提交,那么最好是rebase

不同的人可能有不同的最佳做法。我遵循以下方式:

  1. git pull --rebase以便我可以确保我的分支是从它创建的远程分支更新的。
  2. git push origin :feature_branch这将删除删除远程功能分支。虽然我知道我可以简单地做git push -force feature_branch但我想确认git不会弄乱任何东西:) :) :)
  3. 终于git push origin feature_branch
  4. 我很高兴知道你的练习或建议我做些更好的事情。