some.sh
ファイルを実行可能ファイル ( ) に変換しただけchmod 755 ...
で、アクセス許可は更新されましたが、コンテンツは更新されませんでした。clone / checkout / pullで実行可能ビットが復元/設定されるように、ファイルを gitにコミットする方法はありますか?
更新:新しい権限が に送信されたことを追跡するにはどうすればよいgithub
ですか?
some.sh
ファイルを実行可能ファイル ( ) に変換しただけchmod 755 ...
で、アクセス許可は更新されましたが、コンテンツは更新されませんでした。clone / checkout / pullで実行可能ビットが復元/設定されるように、ファイルを gitにコミットする方法はありますか?
更新:新しい権限が に送信されたことを追跡するにはどうすればよいgithub
ですか?
@fooMonsterの記事が役に立ちました
# git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
ご覧のとおり、ファイルには 644 のアクセス許可があります (100 は無視されます)。これを 755 に変更します。
# git update-index --chmod=+x script.sh
変更をコミットする
# git commit -m "Changing file permissions"
[master 77b171e] Changing file permissions
0 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 script.sh
デフォルトでは、git は実行ファイルのパーミッションを変更すると更新します。他の権限を変更または追跡することはありません。
実行権限を変更しても何も変化が見られない場合は、おそらくファイル モードを無視する git の設定があります。
ファイルの.git
フォルダーでプロジェクトを調べると、次のように表示されます。config
[core]
filemode = false
true
お気に入りのテキストエディターで変更するか、次を実行できます。
git config core.filemode true
その後、ファイルを正常にコミットできるはずです。権限の変更のみをコミットします。