Git 列出索引权限

Git 列出索引权限,git,permissions,Git,Permissions,我可以向文件添加执行权限: chmod +x alfa.sh 然后我可以列出更新的权限: $ ls -l total 0 -rwxrwxr-x+ 1 Steven None 0 Dec 19 22:10 alfa.sh 我还可以向Git索引添加执行权限: git update-index --chmod=+x bravo.sh 这允许我独立于实际文件权限更改索引中的权限。通常,您会立即注意到这些差异 git status,但是如果您有core.filemode=false,git将不会注意

我可以向文件添加执行权限:

chmod +x alfa.sh
然后我可以列出更新的权限:

$ ls -l
total 0
-rwxrwxr-x+ 1 Steven None 0 Dec 19 22:10 alfa.sh
我还可以向Git索引添加执行权限:

git update-index --chmod=+x bravo.sh
这允许我独立于实际文件权限更改索引中的权限。通常,您会立即注意到这些差异
git status
,但是如果您有
core.filemode=false
,git将不会注意到权限差异

如何列出索引中存储的执行权限?

使用管道:

$ git ls-tree -r @
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    alfa.sh
100755 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    bravo.sh
或:

$git diff tree--summary$(git mktree使用管道:

$ git ls-tree -r @
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    alfa.sh
100755 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    bravo.sh
或:

$git diff tree--summary$(git mktree您可以通过以下方式完成:

$ git ls-files --stage
100644 2262de0c121f22df8e78f5a37d6e114fd322c0b0 0       alfa.sh
100755 2262de0c121f22df8e78f5a37d6e114fd322c0b0 0       bravo.sh
您可以通过以下方式完成:

$ git ls-files --stage
100644 2262de0c121f22df8e78f5a37d6e114fd322c0b0 0       alfa.sh
100755 2262de0c121f22df8e78f5a37d6e114fd322c0b0 0       bravo.sh