我想让我的同事的git合并冲突标记出现在我的电脑上

时间:2016-02-12 02:20:33

标签: git git-merge git-merge-conflict

摘要:我希望git冲突标记显示在我的计算机上,以便我可以解决文本文件中的冲突。我怎么能这样做?

情况: 我写了一个文本文件。
我签入了文本文件。
我的同事对文本文件进行了更改。
我对文本文件进行了重大更改。
我签入了文本文件*。
我的同事试图检查她的文件版本。
我的同事得到合并冲突。

我的同事和我都同意,如果我使用冲突标记浏览文本文件并解决计算机上的冲突,那将是最好的。我已经搜索过,但还没有找到方法来说服git给我一份带有冲突标记的文件副本(即,让git进入我可以看到并解决冲突的状态)。你会采取什么措施来实现这一目标?

2 个答案:

答案 0 :(得分:3)

让你的同事将他的更改提交给他当地的HEAD(没有你的提交),然后推送到共享远程仓库中的新分支。

然后,您可以从该分支拉到本地HEAD(使用您的提交),您将获得相同的合并冲突。

答案 1 :(得分:0)

编辑:SLaks答案对于快速修复更有意义。下面的内容更为复杂,并为不太以主存储库为中心的方法做好准备。

一种方法可能是你从她的存储库中提取她提交的更改。这会导致您的合并,然后您可以解决它。我认为你们都使用相同的分支,所以假设你的终端名为coworker,指向她的存储库:

git pull coworker branchname

设置远程数据取决于组织处理存储库的方式。如果您的所有同事在其计算机的文件系统中都有正常的本地副本,没有githttp服务器可以远程访问它们,则可能需要为您创建只读网络共享通过file网址进行访问。如果您的组织已经设置了像Github或Gitlab这样的开发人员在服务器上拥有自己的存储库的东西,那么设置远程控制就像将其指向主存储库的同事分支的URL一样简单。有关所有详细信息,请参阅Git帮助,但基本命令语法为:

git remote add coworker http://host.name/repository/path

将其中的网址替换为您的同事存储库的正确网址(例如file:///Q:/Path/To/Working/Copyhttp://git.host.name/coworkerusername/repositoryname.git)。