事件: 同步代码,进行了换行符替换
过程 :
- 同步代码,在正式服务器的 git 分支基础上创建新的分支,按照同步代码流程,将对方代码换行符转换(对方mac,我方windows)
- 替换需要替换的文件
- git 分支提交,这时问题出现了
如图所示,标题上线,git 显示文件改动,但无具体改动信息 。 什么鬼,真秀啊
没办法只能百度
![](https://i-blog.csdnimg.cn/blog_migrate/13b1e82d1185050a355470ca24f52009.png)
看来这个问题很多人遇到。
-
当然,不能随便下结论,所以测试一下是否是因为换行符
- 首先生成一个文件把这个文件放到测试用的 git 仓库中
- 然后在生成一个相同名字的文件,不同之处如下图替换刚才那个文件
- 提交
- 首先生成一个文件
判断换行符影响--02.。
01换行符为“\n ” ,
02换行符为“\r\n”,
此时git显示文件改动,但无具体改动信息。
看来果然是换行符原因
按照百度出来的方法试了下配置不同时会发生什么事
-
- 先 autocrlf = false 会显示换行哪里有修改,提交后要推送,如下图所示
配置
![](https://i-blog.csdnimg.cn/blog_migrate/dc916f785fb8d845a77bac6b96879fef.png)
生成文件
![](https://i-blog.csdnimg.cn/blog_migrate/561ec55428c84354108ae4736a609c1b.png)
和之前一样在 git 中替换原来的文件,提交 如图
![](https://i-blog.csdnimg.cn/blog_migrate/59c5055d54a5fb75580ffed6adaa1050.png)
之后暂存,提交,推送。
![](https://i-blog.csdnimg.cn/blog_migrate/c4322028df9a35dea17733152d1ce52f.png)
------------------------------------------不华丽的分割线----------------------------------------------------------------------------------------
- 再 autocrlf = true 不会显示换行哪里有修改,显示文件改动,不需要提交推送,如下图所示
然后配置
![](https://i-blog.csdnimg.cn/blog_migrate/5d3a81b42566b4e1f2b6427b913505e7.png)
生成
![](https://i-blog.csdnimg.cn/blog_migrate/6ad1d222ba78172cb7cc3be07522ccd2.png)
和之前一样在 git 中替换原来的文件,提交 如图
![](https://i-blog.csdnimg.cn/blog_migrate/610b4aeefe29727c0e64a8bbeaee6983.png)
暂存
![](https://i-blog.csdnimg.cn/blog_migrate/fdebcbd8af859dedc3a637bdeb2fc366.png)
不用再去提交,推送,git 自动将换行符替换。