コマンドを実行しましたが、次のgit commit
ような応答を受けました。
7 files changed, 93 insertions(+), 15 deletions(-)
mode change 100644 => 100755 assets/internal/fonts/icomoon.svg
mode change 100644 => 100755 assets/internal/fonts/icomoon.ttf
mode change 100644 => 100755 assets/internal/fonts/icomoon.woff
私は、ファイルが「644」または「755」のような3つの8進数で表現できるユーザー/グループ/その他のrwx権限を持つことができることを知っています。しかし、なぜgitは6桁の数字を表示するのですか?
次の記事を読みましたが、答えが見つかりませんでした。
ベストアンサー1
表示される値は16ビットファイルモードです。Gitによって保存されました、レイアウトに応じてPOSIXのタイプとパターン:
32-bit mode, split into (high to low bits)
4-bit object type
valid values in binary are 1000 (regular file), 1010 (symbolic link)
and 1110 (gitlink)
3-bit unused
9-bit unix permission. Only 0755 and 0644 are valid for regular files.
Symbolic links and gitlinks have value 0 in this field.
ファイルにはディレクトリへの言及はなく、オブジェクトタイプ0100を使用して表示されます。のためのGitlinkサブモジュール。
6ビット値の各ビットは8進数で、3ビットを表します。したがって、16ビットには6桁が必要で、最初の数字は1ビットのみを表します。
Type|---|Perm bits
1000 000 111101101
1 0 0 7 5 5
1000 000 110100100
1 0 0 6 4 4
Gitは任意のパターンを保存せず、通常のPOSIXタイプとパターン(8進数、シンボリックリンクの場合は12、一般ファイルの場合は10、ディレクトリの場合は04)を使用する値のサブセットのみを受け入れます。GitはGitのリンクに16を追加します。パターンを追加するには、4つの8進数を使用してください。ファイルの場合は100755または100644(技術的には100664も可能)、ディレクトリの場合は040000(権限は無視されます)、シンボリックリンクの場合は120000のみが表示されます。 set-user-ID、set-group-ID、および固定ビットはまったくサポートされていません(未使用ビットに格納されています)。
また、見ることができますこの関連回答。