사건개요
직장 후배가 eclipse의 synchronize git을 사용해 remote Server의 데이터를 pull 해오던 와중에 아무런 메시지 없이 데이터가 가져와지지 않는 현상이 발생했습니다.
평소 eclipse를 사용하지 않는 관계로 툴 내부에서 확인이 어려웠고 결국 git bash 를 열었습니다.
git bash
우선 당겨와 보았습니다.
1 | git pull origin master |
데이터를 잘 가져오던 중 아래의 메시지와 함께 멈춰버렸습니다.
1 | Unlink of file '파일명' failed. Should I try again? (y/n) |
해결방안
해당 문제는 보통 파일을 다른 프로그램이 사용중일 경우에 발생하며, 파일을 잡고있는 다른 응용프로그램을 우선 종료해야합니다.
This could mean that another program is using the file, which is preventing git from “moving” the file into or out of the working directory when you are attempting to change branches.
I have had this happen on Windows Vista where eclipse is the program “using” the file. The file may not be actually open in eclipse but may have been opened by a process run by eclipse.
In this event, try closing the file in any applications that might have used it. If that doesn’t work, completely exit any applications which may have opened the file.
이것은
다른 프로그램이 파일을사용하고 있다는 것을 의미 할 수 있습니다. 이는 git이 브랜치를 변경하려고 할 때 작업 디렉토리 안팎으로 파일을 “이동”하지 못하게합니다.나는 Windows Vista에서 eclipse가 파일을 “사용”하는 프로그램을 사용하고있다. 파일은 이클립스에서 실제로 열리지 않을 수도 있지만
이클립스에서 실행되는 프로세스에 의해 열렸을 수 있습니다.이 경우
파일을 사용한 적이있는 응용 프로그램에서 파일을 닫으십시오.그래도 작동하지 않으면 파일을 열었을 수있는 응용 프로그램을 모두 종료하십시오.
마무리
가장 의심스러웠던 후배 컴퓨터의 eclipse를 종료하였고. 다시 git pull 을 실행하자 diff 창이 정상적으로 떴으며, 문제가 해결되었습니다.
이번 문제는 eclipse의 synchronize가 중간에 꼬이면서 발생한 것으로 보입니다. eclipse를 재실행 한 뒤에는 해당 문제가 발생하지 않았습니다.