我错误地对git推了一些修改。然后这些更改与另一个分支合并。 由于合并,我无法重置初始分支中的更改。
我应该如何重置错误推送的更改?
答案 0 :(得分:0)
您可能会考虑恢复到良好状态并推送修复错误的提交。这可以防止历史记录中的错误,但需要与任何已经完成修改的人进行协调,而其他分支只需通过合并即可修复。
重置和推送共享分支的问题在于,破坏的更改仍会出现在其他分支中。回购和分支。
如果你真的想重置分支:
假设master
分支从提交开始,我们将调用good
,在其上添加了提交,我们将调用broken
。 feature
分支已从master
分支出来并开始了一些提交,我们会调用before
,然后与master
合并(broken
)在提交中,我们会调用merge-broken
,并在其他提交的基础上进行,我们将其称为after-broken
。
以下是如何修复这些分支,放弃对master
和feature
分支的其他更改:
git branch -f master good
git branch -f feature before
git checkout feature
git merge master
git cherry-pick merge-broken..after-broken
这些变化可以推向上游,但如上所述,这在公共或共享仓库中可能会有危险:
git push origin +master +feature
其他用户可能需要使用--force
标记来提取这些分支,并且可能需要以相同的方式调整其本地分支。