Git for Windows의 파일 이름이 너무 깁니다.
하고 Git-1.9.0-preview20140217Windows ★★★★★★★★★★★★★★★」이 릴리스에서는 파일명이 너무 길면 문제가 해결될 것으로 알고 있습니다.하지만 난 아냐.
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★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')로 Yoman 웹 어플리케이션을 만들고 삭제하기만 하면 됩니다.node_modules .gitignore깃을 들다
내가 뭘 놓쳤지?
Git의 파일 이름 제한은 4096자입니다. 단, Windows에서 Git이 msys로 컴파일되는 경우는 예외입니다.이전 버전의 Windows API를 사용하며 파일 이름은 260자로 제한됩니다.
제가 알기론 Git이 아니라 msys의 한계입니다.상세한 것에 대하여는, https://github.com/msysgit/git/pull/110 를 참조해 주세요.
설정 Git을 설정함으로써 이를 할 수 .core.longpaths로로 합니다.true른른른른른른른른른른른른른른른른
git config --system core.longpaths true
Git은 스크립트와 컴파일된 코드의 조합으로 구축되어 있습니다.위의 변경으로 인해 일부 스크립트가 실패할 수 있습니다.따라서 core.longpaths는 기본적으로 활성화되지 않습니다.
상세한 것에 대하여는, https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later 에 있는 Windows 의 메뉴얼을 참조해 주세요.
Windows 10 버전 1607 이후 MAX_PATH 제한은 일반적인 Win32 파일 및 디렉토리 기능에서 제거되었습니다.단, 새로운 동작에 동의해야 합니다.
레지스트리 키를 사용하면 새로운 롱패스 동작을 활성화 또는 비활성화할 수 있습니다.긴 경로 동작을 활성화하려면 레지스트리 키를 HKLM\SYSTEM\CurrentControlSet\Control\로 설정합니다.파일 시스템\LongPaths Enabled(타입:REG_DWORD)
명령어를 실행할 수 있어야 합니다.
git config --system core.longpaths true
지원되는 버전의 Git에서 이 기능을 켜려면 Git 구성 파일 중 하나에 수동으로 추가해야 합니다.1.9.0 이후일 것 같습니다.
이것은 도움이 될 수 있습니다.
git config core.longpaths true
이 모든 설정을 하기 위해 모든 프로젝트에 설정을 적용하지 않는 것이 .--system ★★★★★★★★★★★★★★★★★」--globaltag)tag)를 합니다.이 명령어는 현재 프로젝트에 고유하게만 문제를 해결합니다.
편집:
이는 git 설정을 글로벌하게 변경할 수 없는 사용자의 "권한 거부" 문제와 관련된 중요한 답변입니다.
따라야 할 단계(Windows):
- 관리자로 Git Bash를 실행합니다(앱 바로 가기를 마우스 오른쪽 버튼으로 클릭하면 다음과 같은 옵션이 표시됩니다).
Run as Administrator) - 다음 명령을 실행합니다.
git config --system core.longpaths true
주의: 순서 2가 동작하지 않거나 에러가 발생했을 경우는, 다음의 명령어를 실행해 보겠습니다.
git config --global core.longpaths true
은 이쪽git config 여기 있습니다.
.gitconfig를 생성하여 추가합니다.
[core]
longpaths = true
프로젝트 위치(확실하지 않음) 및 전역 위치에 파일을 생성할 수 있습니다.의 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★.C:\Users\{name}\.
저장소를 초기화한 직후에 원격 기록을 가져오거나 파일을 체크아웃하기 전에 이 기능이 활성화되도록 하려면 다음과 같이 사용하는 것이 안전합니다.
git clone -c core.longpaths=true <repo-url>
-c 키=값
새로 만든 저장소에서 구성 변수를 설정합니다. 이 설정은 저장소가 초기화된 직후에 적용되지만 원격 이력을 가져오거나 파일을 체크아웃하기 전에 적용됩니다.키는 git-config1에서 예상하는 형식과 동일합니다(예: core.eol=true).같은 키에 대해 여러 값을 지정하면 각 값은 설정 파일에 기록됩니다.이것에 의해, 예를 들면, 오리진 리모트에 추가의 fetch refspec을 추가하는 것이 안전합니다.
Git에서 longpath 파라미터를 활성화하는 것이 더 좋은 해결책입니다.
git config --system core.longpaths true
그러나 해결 방법은 Git에서 node_modules 폴더를 삭제하는 것입니다.
$ git rm -r --cached node_modules
$ vi .gitignore
.gitignore 파일 내의 새 행에 node_modules를 추가합니다.이 작업을 수행한 후 수정 내용을 푸시합니다.
$ git add .gitignore
$ git commit -m "node_modules removed"
$ git push
이건 내게 효과가 있었다.
터미널로서 Administrator로서 실행합니다.다음 명령을 실행합니다.
git config --system core.longpaths true
" " "의 실행git config --system core.longpaths true:게게 게:::::: 。
"오류: 구성 파일 C:\Program Files(x86)\Git\mingw32/etc/gitconfig: 권한 거부"
글로벌 수준에서 명령어를 실행하여 수정:
git config --global core.longpaths true
- Git bash 다운로드 및 설치 : https://git-scm.com/download/win
- 하여 " bash gui" 명령을 합니다.
git config --system core.longpaths true - 이제 모든 저장소를 복제합니다.
- 되지 않으면 다음을 사용해 .
git config --global core.longpaths true - 이것으로 문제가 해결되지 않는 경우는, Windows 의 재기동을 시험해 주세요.
git config --global core.longpaths true
위의 명령어는 나에게 효과가 있었다.'--system'을 사용하면 config file not locked 오류가 발생함
긴 파일 경로를 사용하도록 설정할 수도 있습니다.
Windows 10 Home Edition을 실행하는 경우 긴 경로를 사용하도록 레지스트리를 변경할 수 있습니다.
에 가다HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem에regedit그 후 설정LongPathsEnabled로.1.
Windows 10 Pro 또는 Enterprise를 사용하는 경우 로컬 그룹 정책을 사용할 수도 있습니다.
의 컴퓨터 구성 → 관리 템플릿 → 시스템 → 파일 시스템으로 이동합니다.gpedit.msc[ Enable Win 32 long paths ]를 열고 [Enabled]으로 설정합니다.
Tortoise Git (Windows)
TortoiseGit for Windows를 사용하는 사용자를 위해 다음과 같이 했습니다.
(1) 프로젝트가 포함된 폴더를 마우스 오른쪽 버튼으로 클릭합니다.TortoiseGit -> Settings를 선택합니다.
(2) [Git] 탭에서 [Edit local .git/config]버튼을 클릭합니다.
(3) 표시되는 텍스트 파일의 [core]섹션에서 다음과 같이 추가합니다: longpaths = true
모든 것을 저장하고 닫은 후 커밋을 다시 시도합니다.나한테는 이게
통했어
글로벌 .gitconfig 파일을 편집하는 것이 아니라 이 특정 저장소의 .gitconfig 파일을 편집하는 것이기 때문에 시스템 전체에서 발생할 수 있는 문제를 최소화해야 합니다.
Windows 에서는, 다음의 순서에 따라서 조작할 수 있습니다.
- cmd 또는 git bash를 관리자로 엽니다.
- 위에서 관리자로 실행한 cmd 또는 git bash에서 다음 명령을 내립니다.
git config --system core.longpaths true
이것에 의해, 글로벌하게 롱 패스에 액세스 할 수 있게 됩니다.
또한 긴 경로로 문제 없이 저장소를 복제할 수 있습니다.
저장소를 드라이브의 루트로 이동(임시 수정)
로컬 리포지토리(전체 폴더)를 일시적으로 드라이브의 루트로 이동하거나 가능한 한 루트에 가깝게 이동할 수 있습니다.
드라이브의 루트에서 경로가 더 작기 때문에 문제를 해결할 수 있습니다.
Windows 에서는, 이것을 다음의 주소로 이동시키고 싶다.C:\또는 다른 드라이브의 루트입니다.
Windows 머신 내
관리자 권한으로 명령 프롬프트를 실행하고 다음 명령을 실행합니다.
git config --system core.longpaths true
저도 이 에러가 있었습니다만, 제 경우는 오래된 버전의 npm v1.4.28을 사용하고 있었습니다.
npm v3로 업데이트한 후
rm -rf node_modules
npm -i
npm 2697호에서는 npm v3(2015-06-25)에 포함된 "평면적으로 평평한" 폴더 구조에 대해 자세히 설명합니다.
암호화된 파티션을 사용하는 경우 폴더를 암호화되지 않은 파티션(예: /tmp, 실행 중)으로 이동하는 것을 고려하십시오.git pull 뒤로.
언급URL : https://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows
'programing' 카테고리의 다른 글
| 변수의 첫 번째 문자 대문자(bash 포함) (0) | 2023.04.22 |
|---|---|
| 셸 프로그래밍에서 "내보내기"는 무엇을 합니까? (0) | 2023.04.22 |
| Azure SQL Database Web vs Business Edition (0) | 2023.04.22 |
| PostgreSQL 테이블 생성(존재하지 않는 경우) (0) | 2023.04.22 |
| 탭으로 구분하여 내보낼 때 가장 적합한 MIME 유형 및 확장자는 무엇입니까? (0) | 2023.04.22 |
