programing

git 버전 제어를 사용하여 파일의 권한만 업데이트 및 커밋

linuxpc 2023. 5. 31. 15:22
반응형

git 버전 제어를 사용하여 파일의 권한만 업데이트 및 커밋

방금전에.some.sh파일을 실행 파일에 저장(chmod 755 ...), 사용 권한은 업데이트되었지만 내용은 업데이트되지 않았습니다.실행 가능한 비트가 복제/체크아웃/ 시 복원/설정되도록 파일을 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의 폴더config파일을 작성하면 다음과 같은 내용이 표시됩니다.

[core]
    filemode = false

다음으로 변경할 수 있습니다.true즐겨찾기 텍스트 편집기에서 다음을 실행합니다.

git config core.filemode true

그러면 정상적으로 파일을 커밋할 수 있습니다.권한 변경 사항만 커밋합니다.

아담이 쓴 것처럼:Git는 파일 모드 전체를 추적하지 않습니다.https://git-scm.com/docs/git-config#Documentation/git-config.txt-corefileMode

언급URL : https://stackoverflow.com/questions/10516201/updating-and-committing-only-a-files-permissions-using-git-version-control

반응형