파일 연결 해제에 실패했습니다. 다시 시도해야합니까?
로컬 git 저장소의 파일 중 하나에 문제가 있습니다. 지점을 변경하려고하면 다음과 같이 표시됩니다.
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
그게 무슨 뜻이야?
이것은 다른 프로그램이 파일을 사용하고 있음을 의미하므로 분기를 변경하려고 할 때 git이 작업 디렉토리로 또는 디렉토리에서 파일을 "이동"하지 못합니다.
이클립스가 파일을 "사용"하는 Windows Vista에서 이런 일이 발생했습니다. 파일은 실제로 이클립스에서 열리지 않았지만 이클립스가 실행하는 프로세스에 의해 열렸을 수 있습니다.
이 경우 파일을 사용했을 가능성이있는 응용 프로그램에서 파일을 닫으십시오. 그래도 문제가 해결되지 않으면 파일을 열었던 응용 프로그램을 완전히 종료하십시오.
이 문제가 발생하여 다음 명령으로 해결했습니다 git gc
. 위 명령은 임시 파일과 불필요한 파일을 제거합니다. (가비지 수집기.)
여기 에서이 솔루션은 나를 위해 일했습니다 :
이것은 Windows 고유의 답변이므로 귀하와 관련이 없다는 것을 알고 있습니다 ... 향후 검색 자의 이익을 위해 포함하고 있습니다.
내 경우에는 높이 지 않은 명령 줄에서 Git을 실행했기 때문입니다. "관리자 권한으로 실행"이 해결되었습니다.
을 수행하는 동안이 문제가 발생했습니다 git pull
.
나는 시도 git gc
하고 내 문제를 해결했다.
필자의 경우 파일이나 디렉토리를 만지는 프로세스가 없습니다. 운영 체제 제한 (Windows)으로 인해 경로가 매우 긴 경우에 발생할 수 있습니다. 아래 표시된대로 전역 git 구성에서 longpath 지원 플래그를 활성화하십시오.
git config --global core.longpaths true
또는 충돌하지 않는 경우 예 / 아니요 응답 플래그를 설정하십시오.
set GIT_ASK_YESNO=false
경로가 너무 길면 성공적인 해결책을 찾지 못했습니다.
이것은 누군가에게 유용 할 수 있습니다. 위의 모든 방법으로 문제가 해결되지 않으면 다음 단계를 수행하십시오.
IDE (Intellij 및 기타에 적용되는지 확실하지 않은 Eclipse) 또는 git을 사용하는 다른 앱을 닫으십시오.
커맨드 라인에서 git을 열고 (내 경우에는 git bash가 있음)
git gc
다른 사람들이 언급 한대로 실행하십시오 .
이것은 나를 위해 마술을했다.
내가 사용으로 gitkraken 및 프롬프트 명령을, 나는 같은 문제 다 퉜다. 그런 다음 git gc
명령을 실행하면 문제가 해결되었습니다. 그래서 나는 행복하고 도움이 될만한 몇 가지 요점을 공유하고 싶습니다.
무엇 git gc
을 할 것인가?
git gc
git add의 이전 호출에서 생성되었을 수없는 도달 할 수없는 객체를 제거합니다.
언제 실행 git gc
합니까?
에서 문서 , 사용자는 좋은 디스크 공간 활용과 좋은 운영 성능을 유지하기 위해 각 저장소 내에서 정기적으로이 작업을 실행하는 것이 좋습니다.
자동 구성 가능하게하는 방법?
일부 git 명령은 git gc를 자동으로 실행할 수 있습니다. 자세한 내용은 아래 --auto 플래그를 참조하십시오. 당신이하고있는 일을 알고 원하는 것이 더 이상 고려하지 않고이 동작을 영구적으로 비활성화하는 것입니다.
git config --global gc.auto 0
나는 시도 git gc
하고 내 문제를 해결했다.
필자의 경우 (Win8.1, TortoiseGit 실행 중) 파일을 잠그는 것이 "TortoiseSVN 상태 캐시"라는 프로세스였습니다.
그것을 죽이면 더 이상 아무런 문제없이 "git gc"를 실행할 수있었습니다. 위의 프로세스는 TortoiseGit에 의해 시작되므로 수동으로 다시 시작할 필요가 없습니다.
Windows 7에서 이런 종류의 문제가 있었고 고아 git.exe
프로세스 로 인한 것으로 나타났습니다 .
이를 해결하려면 작업 관리자를 열고 모든 git.exe
프로세스를 종료하십시오.
git
명령은 수명이 짧기 때문에 일반적으로 git.exe
작업 관리자에 아무것도 표시되지 않습니다 . 그들이있을 때, 그것은 일반적으로 뭔가 잘못되었음을 의미하며, 당신은 그 과정을 죽여야합니다.
Windows에서이 문제가 발생했습니다. IDE (Android Studio)를 닫고 git shell에서 YES를 선택했습니다. 효과가있었습니다.
Windows 8에서 git gc를 실행했으며 git gc가 이미 실행 중이라고 말했으며 git gc --force를 실행하고 가비지 수집기가 실행되었습니다.
그런 다음 지점을 바꾸고 아무런 문제없이 병합 할 수 있습니다 .git gc --force를 사용해보십시오.
아마도 gc 프로세스는 어떤 이유로 든 정상적으로 멈추지 않았을 것입니다.
폴더의 .tmp
파일 에이 문제가 있습니다 /.git/objects/pack
. 푸시 또는 풀 중에 실패한 것으로 생각되어 이러한 임시 파일을 제거하고 HEAD를 마지막 커밋으로 재설정했습니다. 이것이 조언되는지 확실하지 않지만 그것은 나를 위해 일했습니다. 또한 pack 폴더에 속하지 않은 파일 git count-objects -v
목록을 제공했습니다 .tmp
.
또는 Windows에서 y / n 메시지를 억제 git open cmd.exe
하고 다음을 실행하십시오.
SETX GIT_ASK_YESNO false
여기에서 본 : https://twitter.com/petercamfield/status/494805475733807104
'git pull'을하는 동안 동일한 문제에 직면했습니다. 수동 청소 git 명령 'git gc'를 시도했는데 문제가 해결되었습니다.
관리자로 Powershell을 열어서이 문제를 해결할 수 있었습니다.git checkout <branch_name>
다양한 솔루션을 시도한 후 마침내 git clean -f
도움이되었습니다.
편집 : 나는 다시 몇 번 문제를 겪었다-git에 의존하는 모든 프로세스를 닫으면 도움이되는 것처럼 보인다 (gitbash, Eclipse IDE 등)
위에서 언급했듯이 다른 파일이 파일을 보유하고 있습니다. 그 프로그램은 우리에게 의심스러워 보이지 않습니다. GitKraken을 연 상태에서 콘솔에서 git pull을 시도했습니다. GitKraken을 닫으면 문제가 해결되었습니다.
이것은 git history를 확인하기 위해 실행중인 별도의 gitk 창 일 수 있습니다.
해당 창을 닫아서 문제를 해결하십시오.
git Bash와 Eclipse EGit을 동시에 실행하는이 문제가 발생했습니다. 솔루션 : Eclipse를 닫으십시오. git gc
@khilo가 언급했듯이 실행에 상처를주지 않을 것 입니다.
위의 답변 중 어느 것도 효과가없는 것처럼 보인 후에는 달리기 git fetch -p
가 나를 위해 일했습니다.
https://git-scm.com/docs/git-fetch
Windows 에서이 문제가 발생하여 관리자로 git bash를 실행 한 다음 원하는 명령을 수행하여 문제를 해결할 수 있습니다.
실행 후 명령
git rm -rf foo.bar
나는 오류를 본다
Unlink of file 'foo.bar' failed. Should I try again? (y/n)
다른 프로그램이이 파일을 사용하고 있기 때문 입니다. 예를 들어 디버그 모델에서 Java 웹 응용 프로그램을 실행하거나 서버에서 웹 응용 프로그램을 실행하면 로그 파일을 삭제할 수 없습니다. 응용 프로그램 서버를 끄거나 디버그 프로세스를 끄고 다시 시도하십시오.
git rm -rf foo.bar
파일이 삭제되었습니다.
웹 응용 프로그램을 개발하는 경우 일반적인 원인은 서버 종료를 잊어 버리는 것입니다. 예를 들어 이것은 단순한 Node.js 프로세스이거나 Windows의 IIS 프로세스가 백그라운드 프로세스보다 눈에 잘 띄지 않게 실행되는 Windows 일 수 있습니다.
이 페이지의 모든 팁을 시도했지만 아무런 도움이되지 않았습니다. 나는 일을 git fetch
하고 git reset --hard origin/development
있었고 펑크 오류를 주었다. 최신 커밋으로 재설정 할 수 없습니다.
도움이 된 것은 다른 지점을 확인한 다음 이전 지점을 확인하는 것입니다. 매우 이상하지만 문제를 해결했습니다.
IDE를 닫고 여기에 나열된 다양한 git 명령을 실행해도 도움이되지 않으면 실행중인 모든 Java 프로세스를 수동으로 종료하십시오. 어떻게 든 구성 파일을 열린 상태로 유지하는 Java 프로세스가 일식에서 빠져 나갔습니다.
Windows에서는 git clone
(대부분 큰) 저장소 에서이 오류가 발생했습니다 . 청산 SmartGit 및 내 백업 소프트웨어 (CrashPlan)을 일시 정지하고, 그 후 일했다. 둘 중 어느 쪽이 트릭을했는지 확실하지 않지만 둘 중 하나를 실행하면 그렇게 할 수도 있습니다.
git pull을 수행하는 동안 동일한 문제가 발생했으며 위에서 언급 한 것처럼 해당 파일을 보유하고 git pull을 허용하지 않는 프로그램 때문이었습니다. 프로그램을 닫는 것이 도움이되었습니다. 일반적으로 파일을 체크인하는 IDE (Eclipse와 같은)는 백그라운드에서 파일을 보유합니다. 동일한 닫고 git pull을 다시 실행하면 문제가 해결되었습니다.
나는이 같은 오류가 있었고 파일을 열어 놓은 앱을 닫아서 해결했습니다. 돌아가서 "Y"를 누를 수있었습니다
내 경우에는 해당 특정 파일에 대한 복사 또는 바꾸기 창이 열렸으므로 연결 해제 오류가 발생했습니다. 닫았는데 연결 해제 오류가 없습니다
Docker를 사용하고 Windows 10을 실행하는 경우 파일이 실행될 수있는 컨테이너를 중지 할 수 있습니다. 컨테이너의 상태를 표시하려면 다음을 실행하십시오.
docker ps -a
그들을 막으려면 간단히
docker stop <container name or container id>
.sh 파일을 사용하여 로컬 파일을 실행하는 동안 이것은 나를 위해 일했습니다.
참고 URL : https://stackoverflow.com/questions/4389833/unlink-of-file-failed-should-i-try-again
'development' 카테고리의 다른 글
아파치에있는 httpd.conf 파일이 손실 됨 (0) | 2020.02.12 |
---|---|
대소 문자를 구분하지 않는 문자열 비교는 어떻게합니까? (0) | 2020.02.12 |
중첩 된 Python dict를 객체로 변환 하시겠습니까? (0) | 2020.02.12 |
Objective-C에서 추상 클래스 작성 (0) | 2020.02.12 |
스플래시 화면을 만들려면 어떻게합니까? (0) | 2020.02.12 |