programing

Git 상태를 완료하는 데 시간이 오래 걸린다

javajsp 2023. 4. 24. 22:26

Git 상태를 완료하는 데 시간이 오래 걸린다

하고 gitWindows 머신의 로컬디렉토리에 있는 파일을 관리할 수 있습니다.여기에는 네트워크가 포함되어 있지 않습니다.다른 머신에서 푸시 또는 풀하지 않습니다.했을 때, 실행100번git status20~30분 정도요.★★★★★★★★★★★★★★★★★?저장소의 상태(변경된 파일, 추적되지 않은 파일 등)를 확인할 수 있는 더 나은 방법이 있습니까? other.git명령어가 훨씬 더 빨리 완료되는 것 같습니다.

git gc 해보셨어요?이 청소는 git repo에서 조금씩 나옵니다.

.git fsck과거에 이 문제를 해결했습니다.

https://git-scm.com/docs/git-fsck

바이러스 대책 소프트웨어를 사용하고 있습니까?아마도 그것은 일을 방해하고 있는 것 같다. git1000개의 파일 저장소가 있는 창에서는 매우 빠릅니다.

재포장 해봤어? git-repack.

그렇지 않으면 디렉토리를 복제하고 복제된 디렉토리의 .git 폴더를 삭제해 보십시오.그런 다음 새로운 git 디렉토리를 생성하여 아직 느린지 확인합니다.

아직 속도가 느리면 시스템 또는 하드웨어 문제인 것 같습니다.Git은 수백 개의 파일에 대한 상태를 5초 안에 끝냅니다.

비슷한 문제에 대해 기존 git repo보다 아래 디렉토리에 git repo가 있으면 속도가 크게 느려진다는 것을 알게 되었습니다.

secondary git repo를 다른 곳으로 옮겼더니 속도가 빨라졌어요!

이유에선지.git status저장소 폴더를 새 위치로 이동 또는 복사한 후 속도가 특히 느립니다.

이 경우 일반적으로 후속 실행이 더 빠릅니다.

속도가 느린 것은 추적되지 않은 파일(스크립트에서 임시 및 출력 파일)이 많기 때문입니다..git status -uno되지 않은 파일을 제외하여 되었으며 내 사항을

★★★git status(최장 1분)이느려서( 1분글로벌한 이유로.gitignore파일은 액세스할 수 없는 네트워크 공유에 저장된 Windows 사용자 프로파일에 있습니다.

git config --global core.excludesfile
그런 걸 보여줬어요\\Nxxxx0\User\Username\Eigene Dateien\gitignore_global.txt

이유에선지.\\Nxxxx0 할 수 , 되었습니다.\\Nxxxxx1일반적으로 내 사용자 프로파일은 엔터프라이즈 시작 스크립트에 의해 드라이브 문자에 바인딩되고 해당 드라이브 문자에 액세스하는 것은 정상적으로 작동하기 때문에 이를 파악하는 데 시간이 걸렸습니다.가 드라이브가 아닌 젊은 했을 것이다) git-config는 잘 .

" " "
git config --global core.excludesfile $HOME/Eigene\ Dateien/gitignore_global.txt
git status이치노

이전 버전의 git은 git 상태에 대한 성능 문제가 있습니다. 자세한 내용은 git 상태 성능을 향상시키는 방법을 참조하십시오.

git 2.13은 수정이 1개이고 2.17개 더 있습니다. 2.7에서 2.23으로 옮겼더니 느린 상태가 해결되었습니다.조만간 2.24에 대한 또 다른 개선 계획이 있습니다.

ZIP을 사용합니다. 한 also도.*.zip는 에 나오는 행입니다..gitignore 삭제:

CMakeCache.txt
CMakeFiles
Makefile
cmake_install.cmake
[...]
*.csv
*.zip
[...]

이 zip 파일(~915 MB)을 다른 폴더로 옮겼기 때문에 문제가 해결되었습니다.

제 경우는, 제가 있는 인터넷 프로바이더가 IPv4 를 서포트하고 있지 않은 것에 문제가 있었습니다.

SSH는 IPv4와 IPv6를 모두 지원하며, DNS가 AAAA 레코드를 취득하는 경우 IPv6를 선호하지만 ISP가 IPv6를 지원하지 않기 때문에 지연이 크다.

아틀라시안 커뮤니티에 있는 기리더하르카난 덕분에 이 사실을 알 수 있었어요

'바꾸다'를 바꿀 합니다./etc/ssh/ssh_config다음 행을 포함하도록 파일을 지정합니다.

AddressFamily inet

이치노해도, 는 를 , IPv4 의 「」, 「SSH」IPv6 의 「」, 「IPv6」, 「IPv6」의 실행에는 오랜 .git pull §git push

IPv4 를 , 에할 수 했습니다.은, 「IPv4」의 양쪽 합니다.이것은 양쪽 모두에 유효합니다.git pull ★★★★★★★★★★★★★★★★★」git push:

git pull -4
git push -4

ssh_config 파일을 변경할 필요 없이 *nix에서도 동작합니다.

여기 IPv4 또는 IPv6 중 하나를 사용하도록 git을 강제하는 방법에 대한 자세한 답변이 있습니다.

버전을 지정하지 않는 파일에 대해서는, 다음의 「UTRACKED FILES AND PERformance」도 참조해 주세요.git status.

개선되는 또 다른 측면(Git 2.14.x/2.15, 2017년 4분기)git status --ignored은 무시된 파일도 표시하는 것입니다().

git status --ignored트래킹된 패스가 없는 디렉토리가 무시된 것을 알게 되면 디렉토리 내의 무시된 패스가 모두 열거됩니다.이것은 불필요합니다.
코드 패스는 이 오버헤드를 피하기 위해 최적화되어 있습니다.

Jameson jamillMiller()의 commit 5aa7fd(2017년 9월 18일)를 참조하십시오.
(2017년 9월 29일 Junio C Hamano에 의해 병합---- 커밋 075bc9c에서)

★★★★★★의 퍼포먼스 git status --ignored

비어 있지 않은 무시된 디렉토리를 나열하려는 경우 디렉토리 나열 로직의 성능을 향상시킵니다.비어 있지 않은 무시된 디렉토리를 표시하기 위해 기존 로직은 무시된 디렉토리의 모든 콘텐츠에서 반복됩니다.
이 변경으로 인해 첫 번째 파일이 발견되면 내용을 통해 반복되지 않도록 최적화됩니다.이렇게 하면 무시된 디렉터리에 많은 파일이 있는 저장소의 'git status --ignored' 성능이 크게 향상될 수 있습니다.

400개의 무시된 디렉토리에 196,000개의 파일이 있는 예제 저장소의 성능 차이를 보여주는 예:

| Command                    |  Time (s) |
| -------------------------- | --------- |
| git status                 |   1.2     |
| git status --ignored (old) |   3.9     |
| git status --ignored (new) |   1.4     |

더 많은 즉흥적인 대응(Git 2.17, 2018년 2분기 설정)에 대해서는 다음 답변을 참조하십시오.

에는 속도가 느려진 이 '천천히'를 실행했기 입니다.git status프로젝트 내 파일 소유자와 다른 사용자로 지정합니다.

할 수 있는 것은 , 한 「」 「」 「」 「」, 「」.chown현재 사용자에게는 문제가 되지 않습니다.

추적되지 않은 파일의 수가 많기 때문에 git은 매우 느립니다.
드셔보세요.

git status -uno

, LFS를 에서 Git LFS를 사용할 때 .git-lfs는 인스톨 되어 있지 않습니다. 하지 만, 할 는, 인스톨 하고 있습니다.git-lfs속도 문제를 해결해 주셨어요.

문제는 로컬 하드 드라이브에 여러 개의 다른 저장소가 복제되어 있기 때문에 git status 등의 명령을 실행하는 데 시간이 더 오래 걸린다는 것입니다.

로컬에서 필요 없게 된 많은 저장소를 간단하게 삭제해, git 상태가 1분~5초로 바뀌었습니다.

이것과 비슷한 답은 여기 보이지 않습니다.

체크 아웃의 새로운 클론으로부터 시작해 보세요.

git clone myrepo mynewrepo

my newrepo에서 git status를 실행합니다.

혹은, 만약 당신이 더 용감하다면, 당신의 기존 계산대에서 쓰레기를 치워라.

git clean -dfx

이렇게 하면 무시되거나 체크인되지 않은 파일 세트를 스캔할 필요가 없어집니다.

언급URL : https://stackoverflow.com/questions/1183769/git-status-takes-a-long-time-to-complete