问题很简单。 Git说我已经将CR(^M
)添加到文件中,
me@myComp MINGW64 /c/workspace/service (develop)
$ git diff --check
engine/src/main/java/someFile.java:18: trailing whitespace.
+import some.java.package;^M
但我将core.autocrlf
设置为true。
me@myComp MINGW64 /c/workspace/service (develop)
$ git config --get core.autocrlf
true
我之前没有遇到过这个问题,也不确定是什么引起了这个问题。我总是将core.autocrlf
设置为true,并且从未抱怨过在此之前添加^M
。
以下是git config --list
的输出,其中包含一些个人信息,gui设置和分支设置,以防万一。
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
push.default=simple
core.autocrlf=true
core.pager=less -x4
core.trustctime=false
core.editor=vim
core.filemode=false
alias.hist=log --pretty=format:'%ad %C(yellow)%h%C(reset) %s %C(yellow)%an%C(reset)' --date=short
alias.logo=log --oneline
alias.superlog=log --decorate --graph
alias.superlogo=log --decorate --graph --oneline
alias.dry-merge=merge --no-commit --no-ff
gui.recentrepo=C:/sts-workspace/kba-service
merge.tool=vimdiff
merge.conflictstyle=diff3
mergetool.prompt=true
mergetool.keeptemporaries=false
mergetool.keepbackups=false
mergetool.trustexitcode=false
diff.tool=vimdiff
difftool.prompt=true
color.ui=true
credential.helper=cache --timeout=3600
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
答案 0 :(得分:0)
至于它突然决定这样做的原因有2种可能性。
Windows的配置可能是一个婊子,而且比linux / mac更麻烦,但它并不是无法管理的。
我只会告诉你我自己的配置(win 7 / mingwin),你应该能够很容易地搜索我所做的事情。我特意花了大约半天研究这个,因为我有点OCD,所以我可以确定行结尾总是在提交时转换为基于unix(LF)。
C:\Program Files (x86)\Git\etc\gitconfig
[core]
autocrlf = false
C:\Program Files (x86)\Git\etc\gitattributes
* text=auto
请注意,您应该查找如何配置默认git属性,如果需要,也可以在每个项目的基础上设置。我使用这些useful templates中的一个,但您自己的需求可能会有所不同。
C:\Users\BAXTER\.gitconfig
[core]
eol = lf
P.S。这可能是this
的某种程度的重复