GIT:将更改从一个分支移动到另一分支

时间:2020-02-19 01:05:58

标签: git git-commit git-push

我有2个分支A和B。 我对A进行了一些更改并提交了它们。 然后,我对A进行了更多更改(错误)。 我将它们推到B并提交。

但是现在我看到对A(旧)和B(新)的更改已提交。我该如何还原?

2 个答案:

答案 0 :(得分:1)

如果您已推送提交,则意味着远程分支受到影响(而不仅仅是本地分支)

您需要将提交从B樱桃拣选到A(假设错误地只对B进行了一次提交):

git switch A
git cherry-pick B
git switch B
git reset --hard B~
git push --force

这将覆盖B的历史记录,如果有多个协作者正在远程仓库中工作,则可能会出现问题。
另一种选择是还原B HEAD,添加一个附加提交以取消最后一个的内容。

git switch B
git revert @
git push

在此不需要--force。

答案 1 :(得分:0)

git checkout <branchname>
git reset --hard <commitid>

这会将所有内容恢复到原始状态。如果您还有其他意思,请详细说明。

关于, Zenima