文件托管在Windows机器上,我想知道我是否冷使用我的Linux机器来管理git,所以我安装了共享。然后我看到,当执行git状态时,所有文件都显示为已修改,并且当尝试从此共享推送时,它不会接受我的密钥。
图片来自同一个快照,同一文件夹。
Linux ---------------------------------------------- ---------- winGitBash
答案 0 :(得分:5)
您是否检查了两台机器上的crlf
设置?一个可能是重新创建文件为CRLF(Windows)而另一个只有LF结尾。这对于“修改”状态就足够了。
不要忘记您的个人设置以及回购设置。
答案 1 :(得分:5)
This blog post很好地解释了这一点。基本上最好设置:
git config --global core.autocrlf true
答案 2 :(得分:1)
git在换行符上的行为取决于几种配置:
对于你的情况,我怀疑下面可能是原因。
LF
存储。 LF
CRLF
。git status
。 LF
时,因为" cygwin git"认为它有效
在" * inux" environemnt,以便那个git认为本地回购应该是
使用CRLF
签出文本文件。当它实际找到CRLF
时,会认为LF
已从# under linux
# save your change
git stash
# delete working directory
git rm --cached -r .
# re-checkout
git reset --hard
更改,因此git报告它们已被修改。要验证这一点(不解决此问题),您可以执行以下操作:
git status
再次运行{{1}},您将/应该看到输出报告没有修改。
参考文献: