我希望我同事的 git 合并冲突标记显示在我的计算机上

I want my coworker's git merge conflict markers to show up on my computer

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

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

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

让您的同事将他的更改提交到他的本地 HEAD(无需您提交),然后推送到共享远程仓库中的新分支。

然后您可以从该分支拉取到您的本地 HEAD(通过您的提交),您将遇到相同的合并冲突。

编辑:SLaks 的回答对于快速修复更有意义。下面的内容涉及更多,并为较少以主存储库为中心的方法做准备。

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

git pull coworker branchname

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

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

用正确的 URL 替换那里的 URL 到您同事的存储库(例如 file:///Q:/Path/To/Working/Copyhttp://git.host.name/coworkerusername/repositoryname.git)。