programing

Git for Windows의 파일 이름이 너무 깁니다.

iphone6s 2023. 4. 22. 09:06
반응형

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):

  1. 관리자Git Bash를 실행합니다(앱 바로 가기를 마우스 오른쪽 버튼으로 클릭하면 다음과 같은 옵션이 표시됩니다).Run as Administrator)
  2. 다음 명령을 실행합니다.
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\FileSystemregedit그 후 설정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 에서는, 다음의 순서에 따라서 조작할 수 있습니다.

  1. cmd 또는 git bash를 관리자로 엽니다.
  1. 위에서 관리자로 실행한 cmd 또는 git bash에서 다음 명령을 내립니다.
git config --system core.longpaths true
  1. 이것에 의해, 글로벌하게 롱 패스에 액세스 할 수 있게 됩니다.

  2. 또한 긴 경로로 문제 없이 저장소를 복제할 수 있습니다.

저장소를 드라이브의 루트로 이동(임시 수정)

로컬 리포지토리(전체 폴더)를 일시적으로 드라이브의 루트로 이동하거나 가능한 한 루트에 가깝게 이동할 수 있습니다.

드라이브의 루트에서 경로가 더 작기 때문에 문제를 해결할 수 있습니다.

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

반응형