나는 git 저장소를 초기화했고 나중에 git이 777 또는 644와 같은 파일 모드를 인덱싱했으며 파일 모드가 변경되면 git이 모드 변경을 표시하고 모드가 변경되었기 때문에 파일을 "원했다"는 것을 깨달았습니다. "실제" 변경 기록(해당 내용의 변경 기록)을 저장하면서 해당 파일의 git 인덱스(기록)에 대한 파일 모드 "기록"을 어떻게 제거할 수 있습니까?
답변1
core.fileMode
false로 설정하면 부분적으로 이를 달성 할 수 있습니다 .
git config core.fileMode false
이렇게 하면 실행 가능 비트(및 해당 비트만)가 무시됩니다.
인용하다git-config
선적 서류 비치:
Git에게 작업 트리에 있는 파일의 실행 가능한 비트를 존중할지 여부를 알려줍니다.
일부 파일 시스템에서는 실행 가능으로 표시된 파일을 체크아웃하거나 실행 가능 비트가 있는 실행 불가능 파일을 체크아웃할 때 실행 가능 비트가 손실됩니다.자식 클론(1)또는자식 초기화(1)파일 시스템을 조사하여 실행 비트를 올바르게 처리하는지 확인하고 이 변수는 필요에 따라 자동으로 설정됩니다.
그러나 리포지토리가 파일 모드를 올바르게 처리하는 파일 시스템에 있고 생성 시 이 변수가 true로 설정되어 있지만 나중에 파일 모드가 없는 다른 환경에서 액세스할 수 있을 가능성이 있습니다(예: CIFS 마운트, Cygwin에 액세스하면 Windows용 Git 또는 Eclipse를 사용하여 리포지토리를 생성합니다. 이 경우 이 변수를 다음으로 설정할 수 있습니다.잘못된. 바라보다자식 업데이트 인덱스(1).
기본값은 true입니다(core.filemode가 구성 파일에 지정되지 않은 경우).
이것이 좋은 생각인지 아닌지는 또 다른 논쟁입니다 ...