我的代码是基于我对另一个补丁所做的挑选。我错误地推送了它,因为另一个补丁还没有准备好。所以在gerrit中,我也看到了其他补丁文件。现在如何使推送的补丁重新基于,而无需从另一个补丁传入的其他文件?
要将分支恢复到挑选之前的位置,请执行以下操作(其中n
是挑选的提交数(:
git reset --hard HEAD~n
git push -f
请注意,强制推送可能会弄乱任何在您的樱桃挑选后拉动您的分支的人的提交历史记录。
如果你想挑选提交的一部分(只是一个文件(,例如可以这样完成:
git cherry-pick <hash>
git reset --soft HEAD~1
//revert unwanted changes and commit
git push