运行gulp会通过删除和添加相同的内容来更改文件
我目前使用的是Windows,当我使用Linux(Fedora)时,这种情况不会发生,但只发生在Windows上。当我在git bash上运行gulp命令时。许多文件的更改如下所示:运行gulp会通过删除和添加相同的内容来更改文件,gulp,Gulp,我目前使用的是Windows,当我使用Linux(Fedora)时,这种情况不会发生,但只发生在Windows上。当我在git bash上运行gulp命令时。许多文件的更改如下所示: @@ -1,6 +1,6 @@ -{ - "globalDependencies": { - "angular": "registry:dt/angular#1.5.0+20160509150441", - "jquery": "registry:
@@ -1,6 +1,6 @@
-{
- "globalDependencies": {
- "angular": "registry:dt/angular#1.5.0+20160509150441",
- "jquery": "registry:dt/jquery#1.10.0+20160417213236"
- }
-}
+{^M
+ "globalDependencies": {^M
+ "angular": "registry:dt/angular#1.5.0+20160509150441",^M
+ "jquery": "registry:dt/jquery#1.10.0+20160417213236"^M
+ }^M
+}^M
我尽了最大的努力找到这个问题的解决办法。这并不是导致错误的原因,只是当我尝试提交时,这让我很恼火,因为这不是我真正想要做的更改。看起来行尾字符正在更改为文件系统的字符,即Windows上的CRLF(回车符,换行符),或Linux上的LF(换行符)。在Linux上使用CRLF打开文件时,CR显示为
^M
您可以创建一个.gittributes
文件,并使用以下命令设置行尾字符:
*.json eol=lf
*.js eol=crlf
您还可以添加一个gulp插件,将行尾重置为您想要的格式
从Bash终端运行文件上的unix2dos,查看
^M
是否消失,这将确认这是一个下线字符问题。看起来行尾字符正在更改为文件系统的字符,即Windows上的CRLF(回车符,换行符),或Linux上的LF(换行符)。在Linux上使用CRLF打开文件时,CR显示为^M
您可以创建一个.gittributes
文件,并使用以下命令设置行尾字符:
*.json eol=lf
*.js eol=crlf
您还可以添加一个gulp插件,将行尾重置为您想要的格式
从文件上的Bash终端运行
unix2dos
,查看^M
是否消失,这将确认这是一个下线字符问题。所以这不是GULP的问题?我猜GULP(或GULP的插件)正在更改行结束,也许有一种方法可以阻止这种情况的发生,这取决于它发生的具体位置,但是告诉git首选的格式或添加另一个Gulp插件来强制它到您首选的行结尾可能更容易。所以这不是Gulp的问题?我猜Gulp(或Gulp的一个插件)正在改变行结尾,也许有一种方法可以阻止这种情况的发生,这取决于它发生的具体位置,但是告诉git首选的格式或者添加另一个Gulp插件来强制它到您首选的行结尾可能更容易。