그냥 설정 some.sh
실행 (로 파일을 chmod 755 ...
) 권한은 콘텐츠를 업데이트하지만되었다. 파일을 git 에 커밋 하여 실행 파일이 clone / checkout / pull 에서 복원 / 설정되도록 할 수 있습니까?
업데이트 : 새 권한이 제출되었음을 어떻게 추적 github
합니까?
답변
기본적으로 git은 파일 실행 권한을 변경하면 업데이트합니다. 다른 권한은 변경하거나 추적하지 않습니다.
실행 권한을 수정할 때 변경 사항이 표시되지 않으면 파일 모드를 무시하는 구성이 git에있을 수 있습니다.
파일 의 .git
폴더 에서 프로젝트 config
를 살펴보면 다음과 같은 내용이 표시됩니다.
[core]
filemode = false
true
선호하는 텍스트 편집기에서로 변경 하거나 다음을 실행할 수 있습니다.
git config core.filemode true
그런 다음 파일을 정상적으로 커밋 할 수 있어야합니다. 권한 변경 만 커밋합니다.
답변
@ 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
답변
나를 위해 작동하지 않습니다.
모드가 true이고 파일 권한이 변경되었지만 git은 할 일이 없다고 말합니다.
git init
git add dir/file
chmod 440 dir/file
git commit -a
문제는 git이 특정 권한 변경 만 인식한다는 것입니다.