GIT 提交到错误的分支 - TortoiseGit 解决方案
GIT commit to the wrong branch - TortoiseGit solution
我正在努力适应 git 存储库。
我将带有已编辑新分支的提交推送到错误的分支(已添加到我需要的分支)。我应该怎么做才能取消提交?
我在 Windows 7 上工作,使用 TortoiseGit。
要删除提交,您可以检出错误创建它的分支并重置最后一次提交(如 nafas 所指出的 link):
git reset HEAD^
但是如果您将提交添加到错误的分支,您可能需要在删除之前移动它。为此,您首先需要知道它的 ID,当您在要移动的提交中检出时,您可以通过 运行ning rev-parse
命令获得它:
git rev-parse HEAD
这将 return sha,类似于 8a011a056ae70bcdd58dfb576552c2d0d2e80047。现在使用 cherry-pick 命令,您可以将该提交带到正确的分支。检查您最初打算创建提交的分支 运行 具有先前获得的 id 的命令:
git cherry-pick 8a011a056ae70bcdd58dfb576552c2d0d2e80047
这会将提交复制到您当前的分支。现在您可以重置错误的提交并删除暂存文件,或者将错误的分支更新为之前的一次提交,例如:
git checkout wrongBranch^
git branch -f wrongBranch
最后,要使用之前的提交更新远程分支,您需要强制推送:
git push -f origin wrongBranch
我正在努力适应 git 存储库。
我将带有已编辑新分支的提交推送到错误的分支(已添加到我需要的分支)。我应该怎么做才能取消提交?
我在 Windows 7 上工作,使用 TortoiseGit。
要删除提交,您可以检出错误创建它的分支并重置最后一次提交(如 nafas 所指出的 link):
git reset HEAD^
但是如果您将提交添加到错误的分支,您可能需要在删除之前移动它。为此,您首先需要知道它的 ID,当您在要移动的提交中检出时,您可以通过 运行ning rev-parse
命令获得它:
git rev-parse HEAD
这将 return sha,类似于 8a011a056ae70bcdd58dfb576552c2d0d2e80047。现在使用 cherry-pick 命令,您可以将该提交带到正确的分支。检查您最初打算创建提交的分支 运行 具有先前获得的 id 的命令:
git cherry-pick 8a011a056ae70bcdd58dfb576552c2d0d2e80047
这会将提交复制到您当前的分支。现在您可以重置错误的提交并删除暂存文件,或者将错误的分支更新为之前的一次提交,例如:
git checkout wrongBranch^
git branch -f wrongBranch
最后,要使用之前的提交更新远程分支,您需要强制推送:
git push -f origin wrongBranch