我有一个分支以外的主人',说abc,签出,并错误地做了我在本地提交的更改(没有git push)。在我的两次提交之前,分支abc在原点合并为master。其他提交是为了掌握
现在,我真的希望我的两个提交的更改应用于以HEAD开头的分支主机。我会用什么命令?
相关问题How to fix committing to the wrong Git branch?确实错过了我需要的东西,因为它只是抛弃错误的提交,但不会将其应用于正确的分支。
答案 0 :(得分:2)
如果它不是分支abc中的最新提交:
git checkout master; git cherry-pick <commit in abc> (2 times); checkout abc; git revert <commit in abc> (2 times)
如果它们是abc中的最新两个提交:在将它挑选为master之后将你的分支abc重置为git checkout abc; git reset HEAD^^
之前的提交。
答案 1 :(得分:1)
您可以切换到两个提交的主要和git cherry-pick
,abc
和abc^
(后者表示abc
之前的提交。)
要更正abc
分支,请使用git reset --hard origin/abc
检查并取消本地提交。
答案 2 :(得分:0)
解决此问题的一种快速方法是将abc
合并到master
并启用快进(这将保留一行历史记录),然后完成重置HARD分支{ {1}}。只要您首先合并到abc
,master
中的任何内容都将丢失,因为它将位于abc
中。