意外地从主题分支而不是主分支分支

rwo*_*ols 5 git

我正在研究多个主题分支。一个主题分支有很多新功能,并且比主分支领先 17 次提交。

现在我决定研究另一个主题,并转向一个新主题。我进行了一次提交,并且该提交已准备好在 GitHub 上进行拉取请求。然而我注意到我不小心分支出了我之前的主题分支而不是主分支,因此 GitHub 正在预览我与另一个主题分支的其他 17 个提交。如何将此新提交移动到没有前一个主题分支的提交的主题分支?

Wil*_*sem 5

问题是,这并不是这将是直接的,因为也许您已经更改了之前的文件已经更改的文件。如果更改是相互依赖的,那么您将必须解决冲突。

不过,您可以执行以下操作:

  1. 去找主人git checkout master
  2. 创建一个主题分支(“意外”主题分支的另一个名称):git checkout -b new_topic_branch
  3. 检查你的 git 树并查看提交哈希值(“意外”分支的第一个和最后一个)。
  4. 樱桃选择这些提交与git cherry-pick A..BA意外”分支的第一次提交的哈希值以及B该分支的最后一次提交)。在这种特殊情况下,您似乎只进行了一次提交,因此您可以git cherry-pick commit使用commit该单个提交的哈希值
  5. 如果成功,则最后的更改也会在新分支上处理。

然后您可以选择将该分支合并到主分支中。