我遇到了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
如何快速解决冲突?
答案 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
修改强>
在我看来,如果它值得多,那么使用默认级别策略来解决冲突并不是一个好主意。是的 - 它会处理您的dist
或build
个文件 - 但您也可能会错过src文件中的重要冲突。
可以更改本地存储库的配置,并为特定文件设置特定的合并策略。
但我不确定这是否适用于git pull
。
为此,您需要在.git/info/attributes
中创建一个包含内容的文件;
FILE/PATH merge=ours
然后你需要更新你的git配置;
git config merge.ours.driver true
现在,您不应该看到这些文件显示为冲突。