2012-10-01 1 views
0

우리 저장소로 Git 1.7 버전을 사용하고 있습니다.힘내 : 코드 작성에 시간이 걸리는 파일에 자식 자식 추가 작업을 수행해야합니까?

나는 개발 과정 (즉, 내 이클립스 작업 공간에서)의 일환으로 내 로컬 파일에 일부 변경을했을

최대한 빨리 사무실에 와서 매일, 내가 원격 저장소에서 최신 코드를 확인합니까 git pull 명령 사용.

오늘 git pull 명령을 실행하면 다음 오류가 발생합니다.

$ git pull 
Updating 2be0f0d..e2f796e 
error: Your local changes to the following files would be overwritten by merge: 
     LoginServlet.java 
Please, commit your changes or stash them before you can merge. 
Aborting 

내 질문은 나에게 자식을 추가 할 수 있도록 (내 관심사는 파일이기 때문에, 준비 영역에 내 파일을 추가하려면 코드가의 과정에서되지 않음)

이 필수입니다 있다는 것입니다

(내 파일을 아직 준비중 인 준비 영역에 추가해야합니까?)

답변

3

무대 영역에 추가하면 도움이되지 않습니다. 이 메시지는 단순히 누군가가 원격 저장소의 LoginServlet.java 파일을 변경했기 때문에 로컬 변경 사항과 충돌하게됩니다.

이것은 또한 더티 작업 디렉토리에서 풀을 실행 중임을 의미합니다. 최근 변경 사항을 다운로드하려면 일시적으로 로컬 변경 사항을 따로 설정하고 풀을 실행 한 다음 새 원격 상태 맨 위에 로컬 변경 내용을 적용해야합니다.

이것은 git stash을위한 것입니다. 당신이하고 싶은 일은 다음과 같습니다 :

$ git stash 
$ git pull 
$ git stash pop 

준비 영역에 물건을 넣을 때 일반적인 규칙은 없습니다.

+0

FWIW,'git stash pop' 후에 충돌을 해결해야합니다. – artagnon

+0

참으로 충돌이 있으면 true입니다. AFAIR git pull은 변경 사항이 파일의 완전히 다른 부분과 관련되어 있어도 병합 시간 충돌을 일으키지 않더라도 로컬로 수정 된 파일을 건드리지 않습니다. –