Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GIT和merge与CSS冲突。为什么会引起冲突?_Css_Git_Merge Conflict Resolution - Fatal编程技术网

GIT和merge与CSS冲突。为什么会引起冲突?

GIT和merge与CSS冲突。为什么会引起冲突?,css,git,merge-conflict-resolution,Css,Git,Merge Conflict Resolution,我们似乎在项目中遇到了许多与scss文件的合并冲突。奇怪的是,它们之间往往没有明显的冲突。例如,我刚刚向一个文件添加了一些新的CSS,创建了一个pull请求,我们得到了以下错误: <<<<<<< develop ======= ...the new css... >>>>>>> bugfix/OurBranch... >错误修复/OurBranch。。。 我不明白为什么git认为这里有冲突。它只是额外

我们似乎在项目中遇到了许多与scss文件的合并冲突。奇怪的是,它们之间往往没有明显的冲突。例如,我刚刚向一个文件添加了一些新的CSS,创建了一个pull请求,我们得到了以下错误:

<<<<<<< develop
=======
    ...the new css...
>>>>>>> bugfix/OurBranch...
>错误修复/OurBranch。。。
我不明白为什么git认为这里有冲突。它只是额外的CSS,没有任何东西被替换。正如冲突错误所显示的,甚至没有代码来显示冲突。甚至连一个空行都没有


这是我们的配置问题吗?GIT在合并css方面真的很糟糕吗?

最初可能在该位置有一些东西,因此它读取到一个分支上的删除和另一个分支上的添加,但无法完全解决它们

如果在冲突状态下运行此操作:

git checkout --conflict=diff3 <path>

我在CSS上遇到了这个问题。最好的猜测是多个IDE中不同的行尾或制表符与间距是问题的原因

然而,我们发现在Pull上使用
GIT-Rebase
而不是
GIT-Merge
(默认)解决了这个问题

对于所有GIT内容来说,这可能不是一个很好的解决方案,但它确实解决了CSS的许多问题

您可以通过time
git pull--rebase来执行此操作

或者将每次拉取设置为使用rebase
git config--global pull.rebase true


在使用此文件之前,请确保您了解它的作用。

我过去常常看到,当不同的IDE编辑同一个文件并使用不同的行尾时……哦!有趣!下次我会试试的。
<<<<<<< develop
||||||| merged common ancestors
    ...the old css...
=======
    ...the new css...
>>>>>>> bugfix/OurBranch...
git config --global merge.conflictstyle diff3