GIT承诺错误的分支 - TortoiseGit解决方案

时间:2015-09-23 10:14:34

标签: windows git github tortoisegit

我正在尝试习惯git存储库。

我已将已编辑的新分支的提交推送到错误的(已添加到我需要的那个)。我该怎么办才能取消提交?

我使用TortoiseGit在Windows 7上工作。

1 个答案:

答案 0 :(得分:1)

要删除提交,您可以检查错误创建它的分支并重置最后一次提交(如nafas' link所指出的):

git reset HEAD^

但是如果您将提交添加到错误的分支,则可能需要在删除之前移动它。为此,您首先需要知道它的id,当您在要移动的提交中签出时,可以运行rev-parse命令:

git rev-parse HEAD

这将返回sha,类似于 8a011a056ae70bcdd58dfb576552c2d0d2e80047 。现在使用cherry-pick命令,您可以将该提交带到正确的分支。检查最初意图创建提交的分支运行带有先前获得的id的命令:

git cherry-pick 8a011a056ae70bcdd58dfb576552c2d0d2e80047

这会将提交复制到当前分支。现在您可以重置错误的提交并删除暂存的文件,或者将错误的分支更新为一个提交,例如:

git checkout wrongBranch^
git branch -f wrongBranch

最后,要使用先前的提交更新远程分支,您需要强制推送:

git push -f origin wrongBranch