Windows에서 Git 파일 권한
Git의 파일 권한에 관한 몇 가지 질문을 읽었으며 여전히 약간 혼란 스럽습니다. GitHub에 대한 저장소가 다른 곳에서 포크되었습니다. 병합 후, 동일해야합니다. 하나:
$ git diff --summary origin/epsilon master/epsilon
mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh
mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee
mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee
mode change 100644 => 100755 ants/util/block_test.sh
mode change 100644 => 100755 manager/mass_skill_update.py
mode change 100644 => 100755 worker/jailguard.py
mode change 100644 => 100755 worker/release_stale_jails.py
mode change 100644 => 100755 worker/start_worker.sh
파일 권한을 변경하려고 시도했지만 diff 결과는 변경되지 않습니다.
Windows에서 권한을 변경하는 방법에 대한 솔루션을 찾았습니다 : http://blog.lesc.se/2011/11/how-to-change-file-premissions-in-git.html
예를 들어 다음 명령은 사용자 실행 권한을 임의의 파일에 추가합니다.
git update-index --chmod=+x <file>
스택 오버 플로우 에 대한 또 다른 질문에서 Git이 파일 모드 (chmod) 변경을 무시하도록하려면 어떻게합니까?
시험:
git config core.filemode false
에서 자식-설정 (1) :
core.fileMode If false, the executable bit differences between the index and the working copy are ignored; useful on broken filesystems like FAT. See git-update-index(1). True by default.
Git Bash를위한 편리한 원 라이너 :
find . -name '*.sh' | xargs git update-index --chmod=+x
모든 .sh
파일을 실행 파일로 표시합니다 . 그 후, 당신은 단지해야합니다 git commit
.
Cygwin git (또는 Linux git도 사용한다고 가정)을 사용하면 $ projdir / .git / config의 프로젝트 수준에서 core.filemode 설정이 설정되었을 가능성이 큽니다. Cygwin git과 Windows git이 항상 존재하지 않는 파일 모드 변경없이 Windows 파일 시스템에서 공존하기 위해서는 다음을 수행해야한다는 것을 알았습니다.
- $ projdir / .git / config에서 행 설정 core.filemode를 삭제하십시오.
- Windows git에서 "git config --global core.filemode false"를 실행하십시오.
이를 통해 Cygwin git은 일반적으로 관련된 파일 모드 변경 사항을 계속 볼 수 있지만 Windows git에 표시되는 파일 모드 변경 사항을 무시하도록 지시합니다.
우분투, 커밋, 푸시 및 모두에서 파일 권한을 변경하여 문제를 해결했습니다. Windows / NTFS의 msysgit에서는 작동하지 않는 것 같습니다.
먼저 권한을 확인하십시오.
git ls-files --stage
그런 다음 권한을 변경하십시오.
git update-index --chmod=+x 'scriptname.ext'
이제 권한을 다시 확인하십시오.
git ls-files-스테이지
===============================================
Windows PC를 사용하지만 Linux 시스템에 배포하는 경우 리눅스 컴퓨터에서 실행할 수 있도록 먼저 아래 명령을 실행하십시오.
dos2unix scriptname.ext scriptname.ext
참고 URL : https://stackoverflow.com/questions/6476513/git-file-permissions-on-windows
'IT박스' 카테고리의 다른 글
스칼라에서 def, val 및 var 사용 (0) | 2020.06.09 |
---|---|
기본 설정에서 글꼴 크기를 변경하면 Android 애플리케이션에서 TextView의 글꼴 크기가 변경됩니다. (0) | 2020.06.09 |
HTML5 비디오를 다운로드하지 못하게합니까 (오른쪽 클릭 저장)? (0) | 2020.06.09 |
이 스레드 조인 코드는 무엇을 의미합니까? (0) | 2020.06.09 |
Maven 프로젝트를 배포하면 java.util.zip.ZipException이 발생합니다. 잘못된 LOC 헤더 (잘못된 서명) (0) | 2020.06.09 |