![Cygwin 的 Git 和文件权限](https://linux22.com/image/1378529/Cygwin%20%E7%9A%84%20Git%20%E5%92%8C%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90.png)
为什么 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