我们最近接管了第三方软件的管理,而我现在被分配到该项目的第一步是将软件直接从实时服务器推送到git仓库。
现在我从一位同事那里得到了一个项目版本:“这里你有项目目录,我不确切知道我改变了哪些文件。我实现了功能XY。请将它合并到回购中,以便我们可以将它部署到登台服务器......“。
所以现在我需要合并git repo与项目的另一个版本,不知何故我进入了linebreak-hell。事实证明,git认为所有文件都已更改。我玩各种git设置(autocrlf),dos2unix等等,没有任何效果。
在原始仓库中,大多数文件都是这样的:
在我从同事处获取的文件中,情况如下:
有人知道如何清理这个烂摊子吗?
我想我可以很容易地将整个代码库转换为unix样式行结尾,但问题是,当我得到第三方应用程序的新版本时,我将不得不再次关心所有那些混乱。< / p>
答案 0 :(得分:0)
我最终做了以下事情:
find . -type f -exec dos2unix {} \;
,git add .
,find . -type f -exec dos2unix {} \;
,git add -v -n . > /tmp/changed_files
。这样我就得到了一个真正有相关变化的文件列表,所以我只能提交那些(快速和彻底的解决方案,而无需重新规范整个回购)。