Git:如何合并一个小而非常老的分支?

Ste*_*ett 7 svn git merge branch

我们正在从SVN迁移,并且还合并了一堆分支.为了大规模简化,我们有一个很久以前分叉的分支B,并且有一点点开发,假设有8个文件被修改,数百个.与此同时,大师身上发生了巨大的变化:

A 
|
X---(a few changes)--- B
|
|(hundreds of changes)
|
HEAD/master 
Run Code Online (Sandbox Code Playgroud)

如果我从分支执行"git merge master",则会显示许多合并冲突,因为B和HEAD现在非常不同.但这似乎(天真地,对我而言)是错误的:B离行李箱不远,它只是一段很长的路要走.

有没有办法利用这个事实?我应该先尝试将B合并回X,然后再从那里合并到HEAD吗?命令是什么:

  1. 确定修订版X.
  2. 查看B和X之间的差异
  3. 用X合并B.
  4. 从新的合并版本更新到HEAD

在这些情况下,人们会使用另一种方法吗?

(很可能我已经在前面说了一些非常愚蠢和非git的东西 - 随意指出它们.:))

mea*_*gar 2

从 B 和 master 分歧点创建一个新分支“X”,然后将 B 合并到 X 中不会有帮助。这只是一个快进合并;将 B 合并到 master 所引起的冲突实际上不会发生任何变化。您唯一的选择是将 B 合并到 master 中并解决冲突。冲突就是这样,没有办法“绕过”它们。