我的 Git 设置是这样的,我在本地“功能”分支中工作,并在工作时向该分支提交更改。当代码准备好后,我 merge 到我本地的“开发”分支。然后,我将本地“开发”分支中的更改推送到远程“开发”分支。
我对一个文件进行了一些更改并提交了它们,但没有意识到我是在我本地的“开发”分支而不是我的“功能”分支上。在将“develop”分支推送到远程“develop”分支之前,我意识到了我的错误,因此更改保留在本地。
如何撤消对本地“开发”分支的提交?我正在使用 Tortoise Git,但如果需要我仍然可以使用 Git 命令行。
注意:这不是我第一次提交功能分支或第一次 merge 到开发分支。
最佳答案
有几种方法可以解决这个问题。一种方法是 cherry-pick
在你的 feature
上的提交分支。那么reset
你的develop
分支到上一个提交。
-
git checkout feature
-
git cherry-pick <commit hash>
-
git checkout develop
-
git reset --hard HEAD~1
关于Git - 如何撤消在错误的本地分支中的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54952692/