Remote 的 repo 全是 LF ,在 Windows 下, git bash 的 config 改为了 core.autocrlf=false ,但 pull 回来的代码全是 CRLF 。
在 Windows Bash 中, git 的 config 同样是 core.autocrlf=false ,但 pull 回来的代码就是 LF 。
现在我们跑一个自动部署脚本,会把开发代码 copy 到产品的 repo 中,之前所有同事都是在 Windows 上同步开发代码以及跑部署脚本的,所以导致开发代码全是 LF ,产品代码全是 CRLF ,我用 Bash on Windows 跑部署脚本 commit 时出现更改了全部文件。
上面的问题基本可以确定是个 Windows 下 git bash 不 follow config 里的 core.autocrlf 导致的,所以解决办法有两个,一个是我完全抛弃 Bash on Windows ,也完全使用 git bash ,“利用”同一个 Bug 与大家保持一致;另一个就是让大家全切换到 Linux 环境,绕过这个 Bug 。
第一个解决方案容易实现,但这里埋了一个坑,以后的同事可能会时不时掉进去;第二个推起来比较繁琐,需要很多同事一起做。
当然最好的解决方案就是找解决 git bash 这个 Bug 的方法。大家有什么好的建议吗?
在 Windows Bash 中, git 的 config 同样是 core.autocrlf=false ,但 pull 回来的代码就是 LF 。
现在我们跑一个自动部署脚本,会把开发代码 copy 到产品的 repo 中,之前所有同事都是在 Windows 上同步开发代码以及跑部署脚本的,所以导致开发代码全是 LF ,产品代码全是 CRLF ,我用 Bash on Windows 跑部署脚本 commit 时出现更改了全部文件。
上面的问题基本可以确定是个 Windows 下 git bash 不 follow config 里的 core.autocrlf 导致的,所以解决办法有两个,一个是我完全抛弃 Bash on Windows ,也完全使用 git bash ,“利用”同一个 Bug 与大家保持一致;另一个就是让大家全切换到 Linux 环境,绕过这个 Bug 。
第一个解决方案容易实现,但这里埋了一个坑,以后的同事可能会时不时掉进去;第二个推起来比较繁琐,需要很多同事一起做。
当然最好的解决方案就是找解决 git bash 这个 Bug 的方法。大家有什么好的建议吗?