And*_*dik 12 git core.autocrlf
我创建了我的回购,autocrlf=true然后做了一些检查和提交autocrlf=false.然后切换回autocrlf=true(OS Win).一切似乎都没问题,直到我开始分支之间的一些合并.出现了许多合并冲突,其中整个文件由于更改而被标记为已更改eols(我认为这些文件是已检出并提交的autocrlf=false).
有一些历史,对我来说是值得的,所以我更喜欢做一些转换或修改提交转换eols而不是创建新的回购并开始新的生活.
这就是我的理解autocrlf(OS Win):
如果是的话 autocrlf=true
WorkingTree -> commit -> GITRepository
CRLF CRLF to LF LF
LF no conv. LF
WorkingTree <- checkout <- GITRepository
CRLF LF to CRLF LF
Run Code Online (Sandbox Code Playgroud)
如果是的话 autocrlf=false
WorkingTree -> commit -> GITRepository
CRLF no conv. CRLF
LF no conv. LF
WorkingTree <- checkout <- GITRepository
CRLF no conv. CRLF
LF no conv. LF
Run Code Online (Sandbox Code Playgroud)
现在我想使用GIT autocrlf=false,所以我决定检查每个分支,eols使用实用程序EOL转换器修复源文件并使用CRLF提交.我做到了,但是时间后,仍有一些文件,这可能是没有签出后,我改变了设置autocrlf到false(或这些文件来从旧的不固定的提交合并?在转换过程中我用面膜*.filetype自动化处理所有LF到CRLF所以对我这样的情况没有其他解释).我也尝试过touch这些文件,重新提交它们(正如我在stackoverflow中看到的那样)但是日期更改与GIT AFAIK无关.我还阅读了如何撤消autocrlf的损坏,但不确定它是我的情况,也不理解向导的技巧.
我怎么能摆脱这个烂摊子呢?