0

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

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

我和我的同事都同意,如果我通过带有冲突标记的文本文件并解决我的计算机上的冲突,那将是最好的。我已经搜索过,但还没有找到一种方法来说服 git 给我一份包含冲突标记的文件的副本(即,让 git 进入我可以看到并解决冲突的状态)。您将采取哪些步骤来实现这一目标?

4

2 回答 2

3

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

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

于 2016-02-12T02:23:04.337 回答
0

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

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

git pull coworker branchname

设置远程取决于您的组织如何处理存储库。如果您的同事拥有的只是他们机器文件系统中的普通本地副本,没有githttp服务器使其可以远程访问,那么他们可能需要创建一个只读网络共享供您通过fileURL 访问。如果您的组织已经设置了诸如 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)。

于 2016-02-12T02:34:58.983 回答