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

时间:2015-01-26 02:08:36

标签: git smartgit git-merge-conflict

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

enter image description here

每个选项的含义是什么?哪一个更安全并保存两个更改? (开发商和矿山)

如果我打开Conflict solver,我会得到类似的结果:

enter image description here

但是我再也不知道如何做或怎样做才能保持这些改变,任何建议?帮助

1 个答案:

答案 0 :(得分:6)

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

  1. 什么都不做,让文件无法解决。不确定选择此选项会发生什么。
  2. 将其他开发人员的更改用作git命令:git checkout --ours -- FILE
  3. 将我的更改用作git命令:git checkout --theirs -- FILE
  4. 就像你已经做的那样,打开冲突解决器。
  5. 您可能很好奇为什么我们在--theirs时使用using my changes,而在--ours时使用using their changes,这是因为您正在执行rebase,您正在变基础您对其他开发人员更改的原始更改。当您执行rebase时,就像将更改保存在临时文件中,并将HEAD移动到远程分支的最新提交(其他开发人员的更改),并通过当前重放您的更改分支,在这种情况下,您的更改将变为theirs

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