我刚刚完成了一个特别毛茸茸的rebase(有人在一个分支上工作了几个星期而没有任何变调。)我花了大概两三个小时,因为我使用的“人类可读”格式只是一堆ID和参考。
当我做这个rebase时,在我有机会推销rebase的结果之前,有两个提交出现在分支上。
有没有最佳做法来获取这些新提交而无需重新进行rebase或诉诸合并?我最初的想法是,我可以选择那些新的提交和git push -f,但那会不会令人讨厌?
答案 0 :(得分:2)
你应该能够再次修改你的提交。
唯一的问题是您必须重新制作冲突解决方案,因为您没有激活git rerere
。
嗯,......你不必使用rerere-train.sh
script
见" Do you even rerere?" Tristan Roussel:
在这种最简单的形式中,脚本从您指定的提交开始,并通过每个父提交来查找冲突。
这将允许您记录那些过去的冲突解决方案,并再次进行rebase,而无需再次进行。
答案 1 :(得分:-1)
cherry-pick
仅用于合并特定提交,但如果您的分支包含许多需要合并的提交,那么最好是rebase
。
不同的人可能有不同的最佳做法。我遵循以下方式:
git pull --rebase
以便我可以确保我的分支是从它创建的远程分支更新的。git push origin :feature_branch
这将删除删除远程功能分支。虽然我知道我可以简单地做git push -force feature_branch
但我想确认git不会弄乱任何东西:) :) :) git push origin feature_branch
我很高兴知道你的练习或建议我做些更好的事情。