Git合并2个不影响所有修改文件的分支

时间:2017-09-27 16:08:56

标签: git merge git-branch git-merge

我正在与一个团队成员合作开展一个项目,我们遇到了一个奇怪的问题,我们不知道如何调查和解决。

基本上所有的团队都在分支A上工作,并且他在一个月之前就用A创建了一个分支B.

(添加此信息,虽然我不认为这是shpuld问题) 我们正在开发一个使用git bare选项

创建的本地仓库

让我们假设他从那时起对分支B所做的工作量等于5倍。 随着时间的推移,他将分支合并为A大约2次,因此我们知道他的工作中有3倍是在A中。

今天我们想要最后一次将B合并为A,并将剩下的2x工作分成A并关闭B.

当我们将B合并为A时,我们有3个案例:

  1. 在两个分支h中更改的一些文件被标记为冲突。一切都好,所以
  2. 他在B中更改的一些文件正确地在A中更新了,这很好
  3. 他在B中做出重要改变的一些文件在A中没有受到影响!同样,这些文件没有被git标记为冲突。
  4. 我们不知道为什么案件3正在发生。 x工作量很多,这就是为什么我使用了" some"一直都是因为我们不能告诉他改变的所有文件发生了什么,因为有很多文件。

    为什么会发生这种情况或者我们如何使用git进一步调查这种奇怪场景的任何建议都会有所帮助

1 个答案:

答案 0 :(得分:1)

1:可能发生冲突,要么将它们与适当的工具合并,例如MeldTortoiseGit,要么手动选择

之间的正确行。
<<<<<<< HEAD
from A
=======
from B
>>>>>>> branch-b

2:好:d

3:不要发生什么事情,但要记住一些事情:     他忘了push他们到遥远的(裸)回购,     你忘记了pull,     这两个结果都是你提交的本地回购

如果你git diff A..Bgit diff --name-only A..B你必须看到所有差异,如果它不存在,那么只需推/拉

你也可以git checkout B,然后git log,如果一切都在同步,你必须看到他所做的提交