我在分支A
上进行了一些更改,并且我想合并在上游分支B
中重命名的一些文件。我进行了合并,并解决了一些小冲突。然后,我继续进行了很多更改,并且忘记了进行合并。然后,当我运行git status
时,我意识到我仍在进行合并。然后,我在单个合并提交中提交了所有内容。
* - A (this contains the merge and what should have been a separate commit on A)
|\
| * - B
| |
* |
|/
*
现在,上游发生了更多更改,并且移动了一堆文件。我希望能够从合并提交中获取更改并将分支重新设置到新的B
上。
所以我想第一件事就是以某种方式从不属于此的合并提交中删除更改:
* - A'
|
| * - B
| |
* |
|\|
| *
| |
* |
|/
*
我什至不知道如何做这部分。我真的不想手动编辑提交。我以为我可以重做从B到A的合并,然后以某种方式将合并提交重新设置到此基础上,以仅获得其他更改,但我无法使其正常工作。
下一步是基于最新的B
:
* - A'
|
*
|
*
\
* - B
|
*
/
*
我确定答案已经存在,但不确定要搜索什么。我尝试了很多事情,但最终总是会丢失大部分代码,而这些代码在原始合并提交中就消失了。