我正在尝试习惯git存储库。
我已将已编辑的新分支的提交推送到错误的(已添加到我需要的那个)。我该怎么办才能取消提交?
我使用TortoiseGit在Windows 7上工作。
答案 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