从 git stash 中的错误分支中删除我的提交

remove my commit from the wrong branch in git stash

在我们的项目中,我们使用 git stash 和 jira。正常的流程规则是:

  1. 我们在我们的 jira 分配下创建了一个新分支(有一个 jira 站点中的超链接 "create branch")
  2. 我们 commit/push 从 git 更改到新创建的分支 控制台
  3. 来自 git 藏品,我们 "create pull request" 和项目负责人将审查 并将更改合并到开发分支。

我的问题是我忘记了第 1 步,我 committed/pushed 我对最后创建的分支的更改,我们称之为 "other-ppl's-branch"

现在我重新创建了一个新分支,我们称之为 "my-new-branch",我的问题是,如何从 "other-ppl's-branch" 中删除我的提交并将其重新提交到 "my-new-branch"?

My problem was that I forgot the step#1, and I committed/pushed my change to the lastly created branch, let's call it other-ppl's-branch

阅读这篇文章,它将描述所有修复它的方法。


how can I remove my commit from other-ppl's-branch and recommit it to my-new-branch ?

使用 git reflog 回到错误之前的点并从那里继续

对你来说很简单

如上文所述 post 您始终可以检出过去的任何给定提交,然后删除 "bad" 分支并从此提交创建您希望的新分支。


如何将提交添加到正确的分支?

几个选项:

git cherry-pick

现在,您可以使用 git cherry-pick 并选择您

的提交范围

git format-patch & git apply

使用 git format-patch 生成已完成所需提交的补丁,然后将它们添加到所需的分支。

我能想到的从源中删除提交的是:

方法一

git revert <commit>,创建一个新提交以还原不需要的提交。

方法二

如果您正坐在最后一个不需要的提交之上。并且您确定其他人不会在您的更改期间提交。

git reset --hard <commit>

git push --force

Delete commits from a branch in Git