【发布时间】:2013-06-13 20:58:51
【问题描述】:
我是git 的新成员,我很难理解所有内容都围绕快照/提交而不是单个文件这一事实。
所以假设我的存储库中有一个树,如下所示。
C4 (HEAD,Master,Origin/Master)
*
C3
*
C2
*
C1
现在我从这里分支出来:
B1 (HEAD, testBranch)
*
C4 (HEAD,Master,Origin/Master)
*
C3
*
C2
*
C1
在我的testBranch 中,我只修改了整个存储库的 2 个文件。只有 2 个。
远程存储库中master 的开发仍在继续,因此最终我们拥有以下树:
C8(Master,Origin/Master)
*
B3(testBranch) C7
* *
B2 C6
* *
B1 C5
*
C4
*
C3
*
C2
*
C1
现在我已经完成了分支的工作,并想合并到 master。但是主人已经走得更远了。
但是B3 最新的testBranch 和C8 最新的master 之间的唯一区别是我在fork 分支时最初开始处理的2 个文件的更改。但另外testBranch 是“避免落后于”master 分支,因为发生了其他修改。
那么如果我将testBranch 合并到master 会发生什么?git 会发现合并的唯一更改是我最初处理的 2 个文件吗?
我会遇到冲突吗?我不应该进行合并而是进行变基吗?为什么?
【问题讨论】:
标签: git version-control git-branch git-merge git-rebase