Cygwin 的 Git 和文件权限

Cygwin 的 Git 和文件权限

为什么 Cygwin 的 git 总是与文件权限混淆?文件没有改变。TortoiseGIT 认为它没有被修改。DOS Git 认为它没有被修改。

$ git diff README.md
diff --git a/README.md b/README.md
old mode 100644
new mode 100755

$ ls -l README.md
-rwx------+ 1 Chloe None 824 Sep  4 00:55 README.md

$ which git
/usr/bin/git

$ git --version
git version 1.8.3.4

$ uname -a
CYGWIN_NT-6.2-WOW64 xps 1.7.25(0.270/5/3) 2013-08-31 20:39 i686 Cygwin

答案1

看起来README.md您的工作目录中设置了用户执行权限,但索引中却并非如此,因此报告了差异。

尝试一下这个,看看是否有帮助:

git config core.filemode false

例如,我重新创建了一些类似于您的情况的东西,这就是我得到的结果(使用两种设置core.filemode):

$ git config core.filemode true

$ git diff foo.txt
diff --git a/foo.txt b/foo.txt
old mode 100644
new mode 100755

$ ls -l foo.txt
-rwx------+ 1 david Domain Users 0 Jul  2 12:40 foo.txt*

$ git config core.filemode false

$ git diff foo.txt

$

警告,我正在使用不同版本的 Cygwin 和 Git:

$ which git; git --version; uname -a
/usr/bin/git
git version 1.7.9
CYGWIN_NT-6.1-WOW64 XXXXXX 1.7.30(0.272/5/3) 2014-05-23 10:36 i686 Cygwin

相关内容