我在这里遇到问题而且我不知道为什么,也许我做错了什么。我在同一个文件中工作,其他开发人员也正在研究它。他告诉我,文件被推送到存储库,好吧。在进行更改之前,我进行了提交,因此我的更改已保存并与来自其他开发人员的更改合并,但令文件惊讶的是给了我冲突,我不知道该做什么不放弃其他开发人员的更改和地雷。如果我打开右键单击=>解决冲突我得到了这个窗口:
每个选项的含义是什么?哪一个更安全并保存两个更改? (开发商和矿山)
如果我打开Conflict solver
,我会得到类似的结果:
但是我再也不知道如何做或怎样做才能保持这些改变,任何建议?帮助
答案 0 :(得分:6)
我不使用smartgit,但是从截图我可以告诉选项映射到git命令如下:
git checkout --ours -- FILE
git checkout --theirs -- FILE
您可能很好奇为什么我们在--theirs
时使用using my changes
,而在--ours
时使用using their changes
,这是因为您正在执行rebase
,您正在变基础您对其他开发人员更改的原始更改。当您执行rebase
时,就像将更改保存在临时文件中,并将HEAD
移动到远程分支的最新提交(其他开发人员的更改),并通过当前重放您的更改分支,在这种情况下,您的更改将变为theirs
。
由于您要同时保存这两项更改,因此您应该解决所有冲突手动和mark the file as resolved
,然后继续重新定位。