질문 : Windows 용 Git에서 파일 이름이 너무 깁니다.
Git-1.9.0-preview20140217
을 사용하고 있습니다. 아시다시피이 릴리스는 파일 이름이 너무 긴 문제를 해결해야합니다. 하지만 나는 아닙니다.
확실히 나는 뭔가 잘못하고 있습니다 : git config core.longpaths true
및 git add .
그런 다음 git commit
. 모든 것이 잘되었습니다. 그러나 이제 git status
Filename too long
파일 목록이 표시됩니다. 예를 들면 다음과 같습니다.
node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper/node_modules/download/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js: Filename too long
나를 위해 재현하는 것은 매우 간단합니다. Angular 생성기 ( "yo angular") 로 Yeoman .gitignore
파일에서 node_modules
를 제거하면됩니다. 그런 다음 앞서 언급 한 Git 명령을 반복합니다.
내가 여기서 무엇을 놓치고 있습니까?
답변
Git은 Windows에서 msys로 컴파일되는 경우를 제외하고 파일 이름에 대해 4096 자로 제한됩니다. 이전 버전의 Windows API를 사용하며 파일 이름은 260 자로 제한됩니다.
내가 이것을 이해하는 한, 그것은 Git이 아닌 msys의 한계입니다. 자세한 내용은 https://github.com/msysgit/git/pull/110 에서 확인할 수 있습니다.
Windows에서 다른 Git 클라이언트를 사용하거나 다른 답변에서 설명한대로 core.longpaths
를 true
git config --system core.longpaths true
Git은 스크립트와 컴파일 된 코드의 조합으로 빌드됩니다. 위의 변경으로 일부 스크립트가 실패 할 수 있습니다. 이것이 core.longpaths가 기본적으로 활성화되지 않는 이유입니다.
https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file 의 Windows 설명서에 몇 가지 추가 정보가 있습니다.
Windows 10 버전 1607부터 MAX_PATH 제한이 일반적인 Win32 파일 및 디렉터리 기능에서 제거되었습니다. 그러나 새로운 동작을 선택해야합니다.
레지스트리 키를 사용하면 새로운 긴 경로 동작을 활성화하거나 비활성화 할 수 있습니다. 긴 경로 동작을 사용하려면 HKLM \ SYSTEM \ CurrentControlSet \ Control \ FileSystem LongPathsEnabled (유형 : REG_DWORD)에서 레지스트리 키를 설정하십시오.
출처 : https://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows
'개발관련 > Git' 카테고리의 다른 글
git 프로젝트의 'bin'디렉토리 무시 (0) | 2021.07.30 |
---|---|
Windows에서 Git과 함께 작동하도록 편집기를 설정하는 방법 (0) | 2021.07.28 |
Git 하위 모듈을 오리진의 최신 커밋으로 업데이트 (0) | 2021.07.28 |
[오류] git: undo all working dir changes including new files (0) | 2021.07.27 |
Git 브랜치를 로컬 및 원격으로 삭제하는 방법 (0) | 2021.07.23 |