git commit时报rename .git /xx/xxxx to.git/xxx/xxxx的错误

在前天写完代码,commit时,报了一个错误:

fatal(好像又是error,记不太清了): rename .git/a5/xxx to .git/a5/xxxxxxxxxxx  failed. Should I try again?(y/n)

当时就感觉懵逼了,自己应该没动过.git中的文件才对,但不管动没动,问题总得解决,但选"y"就一直重复这个错误,选,选"n", 就直接报错退出了。查谷歌竟然没找到文章介绍同样的问题,没办法,只好求助学长了,学长看了看后试着用idea来提交代码,这时候报的错又变了,变成了:

Git rename from index.lock to index failed. Should I try again?(y/n)

谷歌这个问题,在Stack Overflow发现了同样的问题

clipboard.png

然后有人给出了,解决办法

clipboard.png

照着做之后,commit没有报错,以为圆满解决,但运行git status,发现文件一个都没交上去
然后再

git add .
git commit -m ""

还是同样的错误

当时还以为自己在无意中操作了.git的文件,就重新clone了一遍项目,把自己写的代码放进去,但仍然报错,
很明显是代码的问题,在学长的建议下一个文件一个文件的提交找到了问题代码

clipboard.png

问题就在那个contributionList上,改个名字,或者把它删除了都能顺利提交,但就是这个名字不行。(如果有大佬知道为什么,希望评论告知一下)

这时张喜硕学长过来了,就给他又演示了一遍错误,他发现了

clipboard.png
(不是问题文件,当时没有截图)

Git-warning: CRLF will be replaced by LF in XXX

CRLF : windows 环境下的换行符
LF : linux 环境下的换行符

这个错误的意思,就是文件中存在两种环境的换行符,git 会自动替换 CRLF 为 LF ,所以提示警告。

关于这个问题,网上的文章很多,解决办法也很简单,关闭自动转换即可

git config --global core.autocrlf false

果然,问题解决了,作者配的漫画很有意思,同时也可以表现我遇到这个问题时的心情

clipboard.png

(picture from Luis Tubes's blog post )

再次感谢两位学长的帮助

总结

还是不懂为什么别人的都是警告,而我的哪行代码却会导致上述问题,如果您正好知道,希望能评论告知。记得刚学c语言时老师说,一般的warning都可以忽略,因此对于warning自己总是直接忽略,希望通过这次教训能改掉这个坏习惯。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值