2011-09-07 7 views
2

코드를 커밋했습니다. git pull을 실행하면 충돌이 발생했습니다. 충돌을 해결하고 커밋 된 변경없이 파일 버전 만 가져 오는 방법은 무엇입니까?git에서 파일 충돌 제거

+0

가능한 복제본 [어떻게하면 git pull 후에 충돌을 해결할 수 있습니까?] (http://stackoverflow.com/questions/1435754/how-do-i-resolve-a-conflict-after-git-pull) – CharlesB

답변

2

변경하기 전에 지점을 하드 커밋으로 다시 설정 한 다음 체리가 각각의 커밋을 선택합니다. 이렇게하면 지사가 변경 사항을 제외한 모든 것을 포함하는 상태가됩니다.

+0

하지만이 링크는 커밋하기 전에 하드 리셋이라고 말합니다 : http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html – Firdous

+1

하드 리셋은 항상 현재 브랜치가 어떤 브랜치/태그로 설정되도록 강제합니다 당신이 지정합니다. 언제든지 할 수 있습니다. 위험은 커밋되지 않은 변경 사항을 버리거나 더 이상 참조되지 않는 매달린 분기를 만드는 것입니다. 이런 상황에서 스스로를 지키기 위해 하드 리셋하기 전에 새로운 브랜치를 생성 할 수 있습니다. 왜냐하면 브랜치를 생성하는 것은 힘내 너무 싸기 때문입니다. 그럼, 뭔가 잘못되면, 당신은 당신이 만든 임시 지점으로 열심히 다시 설정할 수 있습니다 그리고 당신은 정확하게 당신이 어디 있었는지 다시 (그리고 당신이 다시 시도 할 수 있습니다!) – Kevek

+0

좋아, 내가 그랬어, 네 그것이 효과 (갈등 해결 된), 그리고 내가 "자식 상태"할 때 수정 된 파일 (완벽)입니다. 어떻게 내가 당겨? b/c 만약 내가 그것을 당겨 충돌 오류를 보여줍니다. 나는 내가 수정 된 파일이 없을 때 충돌이 어떻게 오는지 이해할 수 없다. 메신저로 새로운 볼 수있는 자식 : – Firdous

5

당신은 당신의 변경

git reset --hard HEAD^ 

git pull 

Unstage 모든 작업을 수행하고, 빨리 감기 병합 할 수 있습니다. 더 이상 충돌을 해결할 필요가 없습니다.

+0

하지만이 링크는 당신이 커밋하기 전에 하드 리셋이 있다고 말합니다 : http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html – Firdous

+0

그리고 내 갈등을 해결할 수 없을 때까지 "자식 되돌리기 HEAD"를 수행하지 마십시오 – Firdous

+0

@Firdous : HEAD 대신에 -hard HEAD ^를 재설정해야합니다. 커밋하기 전에 무대를 리셋합니다. Rmb, 커밋 된 모든 변경 사항이 손실됩니다! –