我如何在我的 Git 存储库中解决合并冲突?


当前回答

我正在使用Microsoft的Visual Studio代码来解决冲突. 它很容易使用. 我在工作场所保持我的项目开放. 它检测和突出冲突. 此外,它提供了GUI选项,以选择我想要从头部或进入的任何变化。

此分類上一篇

其他回答

git fetch <br>
git checkout **your branch**<br>
git rebase master<br>

在此步骤中,您将尝试使用您最喜欢的 IDE 解决冲突。

您可以遵循此链接来查看如何在文件中解决冲突。

git add<br>
git rebase --continue<br>
git commit --amend<br>
git push origin HEAD:refs/drafts/master  (push like a drafts)<br>

现在一切都很好,你会发现你的承诺在吉里特。

从2016年12月12日起,您可以在github.com上合并分支和解决冲突。

因此,如果你不想使用命令线或任何第三方工具,从更古老的答案在这里提供,请使用GitHub的原住民工具。

这个博客帖子详细解释,但基本是,通过UI“融合”两个分支,你现在会看到一个“解决冲突”选项,将带你到一个编辑器,允许你处理这些融合冲突。

此分類上一篇

如果你经常做小承诺,然后开始看看承诺评论与 git log --merge. 然后 git diff 会向你展示冲突。

我喜欢opendiff - Git 也支持 vimdiff, gvimdiff, kdiff3, tkdiff, meld, xxdiff,从盒子中出现,你可以安装其他: git config merge.tool “your.tool” 将设置您所选择的工具,然后 git mergetool 失败的合并后将向您展示背景中的 diffs。

每当您编辑文件以解决冲突时, git 添加文件名将更新索引,而您的 diff 将不再显示。

如果您不使用工具合并,首先复制您的代码:

- `checkout master`
- `git pull` / get new commit
- `git checkout` to your branch
- `git rebase master`

它解决冲突,你可以复制你的代码。

当运行 git fetch 然后 git merge 当运行 git fetch 然后 git rebase 当运行 git pull (实际上相当于上述条件之一) 当运行 git stash pop 当应用 git patches (以电子邮件传输的文件出口的命令)

你需要安装一个合并工具,它是兼容的Git解决冲突. 我个人使用KDiff3,我发现它很好和方便. 你可以下载它的Windows版本在这里:

https://sourceforge.net/项目/kdiff3/文件/

然后设置 Git 配置以使用 KDiff3 作为其 mergetool:

$ git config --global --add merge.tool kdiff3
$ git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
$ git config --global --add mergetool.kdiff3.trustExitCode false

$ git config --global --add diff.guitool kdiff3
$ git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
$ git config --global --add difftool.kdiff3.trustExitCode false

(请记住将路径替换为 KDiff3 EXE 文件的实际路径。

$ git mergetool

然后它打开Kdiff3,并首先试图自动解决合并冲突。

下面是Kdiff3看起来怎么样:

$ git mergetool
No files need merging