我的代码基于我对另一个补丁所做的精心挑选。 我错误地推了它,因为另一个补丁尚未准备好。所以在gerrit中,我也看到了其他补丁文件。 现在,如何使推入的修补程序重新建立基础,而又没有来自其他修补程序的其他文件呢?
答案 0 :(得分:0)
要将分支恢复到执行摘樱桃之前的位置,请执行以下操作(其中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
答案 1 :(得分:0)
这会消除被推送的不需要的文件吗?