2013-03-12 2 views
4

저는 신참한데 아직도 많은 문제가 있습니다.git : 작업 파일을 최신 파일과 병합하려면 어떻게해야합니까?

내가 일하고 있다고 말하면 a.cpp입니다. a.cpp에서 일부 코드를 수정했습니다. 그리고 그 변화는 커밋하거나 푸시 할 준비가되어 있지 않습니다.

그런 다음 다른 사람들도 a.cpp을 변경했습니다.

SVN/CVS에서 병합 또는 충돌을 체크 아웃합니다.

git pull도 같은 일을한다고 생각했습니다.

그러나 git pull은 병합/충돌하지 않는 것으로 보입니다. 이것은 올바른 행동입니까?

또한 git checkout은 단지 내 모든 변경 사항을 잃어버린 a.cpp을 다시 작성합니다.

최신 버전을 가져 와서 병합/충돌을 수행하는 쉬운 방법이 있습니까?

답변

5

당기기 전에 stash your changes. 그런 다음 끌어온 후에 숨겨진 변경 사항을 팝하고 최신 커밋에서 리베이스 (rebase) 할 수 있습니다.

첫번째 숨겨 놓은 모든 변경 사항

git stash 

당신은 stash show를 실행하여 숨겨 놨다을 볼 수 있습니다. 전에 아무것도 숨기지 않았다면 이제는 숨겨둔 숨겨진 것이 보일 것입니다. 이제 변경 사항을 덮어 쓰지 않고 뽑을 수 :

git pull 

지금 숨김에서 변경 사항을 제거하고 현재 체크 아웃 버전에 적용 :

git stash pop 
0

또 하나의 방법은 누르지 커밋하는 것입니다. 그런 다음 원격지에서 리베이스하십시오.

관련 문제