如果差异不重要,如何快速解决这个git合并问题?

时间:2017-05-25 11:15:23

标签: git

我遇到了git的意外问题,我不知道为什么或如何解决它。

On branch master
Your branch and 'origin/master' have diverged,
and have 3 and 1 different commit each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean

我应该使用什么命令来查看分支如何分歧?

但更重要的是,当我做git pull时,我在uglified js文件中发现了令人讨厌的合并冲突。类似的不重要的文件。

我已使用

重置合并
git reset --merge

如何快速解决冲突?

1 个答案:

答案 0 :(得分:1)

您需要启动合并,然后通过签出您或他们的冲突文件副本来解决冲突。然后将这些文件添加到提交中。

git pull origin master

然后;

git checkout --ours FILE/PATH

或者

git checkout --theirs FILE/PATH

取决于您是要使用副本还是副本。我的猜测并不重要 - 因为您现在可以运行构建脚本来创建这些文件的正确副本。

生成新文件后,您必须将它们添加到提交中;

git add FILE/PATH

然后提交;

git commit -m "Merging remote changes"

然后最后将更改推送到遥控器;

git push origin master

修改

在我看来,如果它值得多,那么使用默认级别策略来解决冲突并不是一个好主意。是的 - 它会处理您的distbuild个文件 - 但您也可能会错过src文件中的重要冲突。

可以更改本地存储库的配置,并为特定文件设置特定的合并策略。

但我不确定这是否适用于git pull

为此,您需要在.git/info/attributes中创建一个包含内容的文件;

FILE/PATH merge=ours

然后你需要更新你的git配置;

git config merge.ours.driver true

现在,您不应该看到这些文件显示为冲突。