使用SmartGit解决git文件冲突:我们与他们的冲突

Rey*_*rPM 3 git smartgit git-merge-conflict

我有一个问题,我不知道为什么,也许我做错了.我在同一个文件中工作,其他开发人员也正在研究它.他告诉我,文件被推送到存储库,好吧.在进行更改之前,我进行了提交,因此我的更改已保存并与来自其他开发人员的更改合并,但令文件惊讶的是给了我冲突,我不知道该做什么不放弃其他开发人员的更改和地雷.如果我右键单击=>解决冲突我得到了这个窗口:

在此输入图像描述

每种选择意味着什么?哪一个更安全并保存两个更改?(开发商和矿山)

如果我打开Conflict solver然后我得到这样的东西:

在此输入图像描述

但我又不知道如何做或怎样做以保持这两个变化,任何建议?救命?

nee*_*vek 6

我不使用smartgit,但从截图我可以告诉选项映射到git命令如下:

  1. 什么都不做,保持文件未解决.不确定选择此选项会发生什么.
  2. 使用其他开发人员的更改作为git命令: git checkout --ours -- FILE
  3. 使用我的更改作为git命令: git checkout --theirs -- FILE
  4. 就像你已经做的那样,打开冲突解决器.

您可能很好奇我们为何使用--theirs何时using my changes,而--oursusing their changes这是因为您正在做的时候rebase,您正在重新调整其他开发人员更改的原始更改.当您这样做时rebase,就像将更改保存在临时文件中,并移动HEAD到远程分支的最新提交(其他开发人员的更改),并在当前分支上重放您的更改,在这种情况下您的更改将变为theirs.

由于您要保存这两个更改,因此应手动解决所有冲突,mark the file as resolved然后继续重新定位.