0

我使用主题分支合并了一个提交cherry-pick,因为它有一些在主分支上有用的更改。不幸的是,我没有注意到提交还引入了一个在主题分支上启动的新文件。这意味着在合并过程中,我获得了大部分文件并准备添加,但与标记为“我们删除”的文件发生冲突。

我不确定我的下一步行动。我想保留其余的提交,然后当来自主题分支的其余提交合并时,新文件及其所有更改都会不受阻碍地进入。这可能吗?

我认为我的下一步行动是:

  • git rm文件,将cherry-pick标记为ok,并希望这不会在合并时删除文件。
  • 合并它并忽略它(我敢肯定大多数开发人员会这样做但不承认:)
  • 合并失败,返回主题分支,恢复提交,重新提交而不添加新文件,然后重新合并回主分支。我希望有比这更简单的方法。

对此的任何帮助都非常感谢。

4

3 回答 3

1

我建议拆分提交,如Git book 的这一章中所述

于 2013-10-25T05:35:53.600 回答
1

如果您成功cherry-pick编辑并丢失了一个文件,您可以执行checkoutfromHEAD^并将文件恢复为最近的方式:

git checkout HEAD^ the/path/to/file
于 2013-10-25T05:37:14.720 回答
1

假设您选择的提交足够理智(即 - 一个无法拆分为较小更改的单个更改),则其他文件中的更改需要该文件。没有该文件,工作树将处于损坏状态。如果在合并期间您修改了其他代码以不使用该文件,您也可以在合并期间删除该文件。

如果提交可以拆分为较小的更改,您可以尝试这样做。

于 2013-10-25T05:41:08.877 回答