GIT和merge与CSS冲突。为什么会引起冲突?
我们似乎在项目中遇到了许多与scss文件的合并冲突。奇怪的是,它们之间往往没有明显的冲突。例如,我刚刚向一个文件添加了一些新的CSS,创建了一个pull请求,我们得到了以下错误:GIT和merge与CSS冲突。为什么会引起冲突?,css,git,merge-conflict-resolution,Css,Git,Merge Conflict Resolution,我们似乎在项目中遇到了许多与scss文件的合并冲突。奇怪的是,它们之间往往没有明显的冲突。例如,我刚刚向一个文件添加了一些新的CSS,创建了一个pull请求,我们得到了以下错误: <<<<<<< develop ======= ...the new css... >>>>>>> bugfix/OurBranch... >错误修复/OurBranch。。。 我不明白为什么git认为这里有冲突。它只是额外
<<<<<<< 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的许多问题
您可以通过timegit pull--rebase来执行此操作
或者将每次拉取设置为使用rebasegit config--global pull.rebase true
在使用此文件之前,请确保您了解它的作用。我过去常常看到,当不同的IDE编辑同一个文件并使用不同的行尾时……哦!有趣!下次我会试试的。
<<<<<<< develop
||||||| merged common ancestors
...the old css...
=======
...the new css...
>>>>>>> bugfix/OurBranch...
git config --global merge.conflictstyle diff3