2011-11-26 3 views
4

복귀하는 중 내 .emacs.d 폴더의 내 저장소에 만들어진 커밋 나는 다음과 같은 메시지가 :Git Revert 오류 메시지가 표시됩니까?

[email protected]> git revert 7fe3f 

error: could not revert 7fe3f0b... .emacs.d contents from ubuntu hp 15 
hint: after resolving the conflicts, mark the corrected paths 
hint: with 'git add <paths>' or 'git rm <paths>' 
hint: and commit the result with 'git commit' 

내가 뭘하려고 내 init.el 파일에 대한 반대의 변경입니다 내가 뒤집어 씌우려 고 노력하고있는 다른 커밋을 따라 갔다. 후자가 가장 최근의 커밋을 완전히 지우는 것을 알기 때문에 나는 리셋보다는 되돌리기를 선호한다. 나는 되돌리기를 "되돌릴"수 있도록 새로운 커밋을 만들고 싶습니다. 내가 뭘하려고 오전 즉

Git Commits [A]...[B] 

내가 뭔가 잘못하고 있습니까

Git Commits [A]...[B]...[A'] 

에 복귀 할 것입니까?

편집 : 내가 사랑하는 일을 시도/최선 그때 다른 커밋 수로 병합하지만 여전히 나에게 새로운 오류 메시지가 있습니다 : (나는 그것을 무시 어떻게 알 수 있습니까

[email protected]> git revert 7fe3f0ba3182b591f11c0b59e006dc6c990b7470 

fatal: Your local changes would be overwritten by revert. 
Please, commit your changes or stash them to proceed. 

을하지만, .gitigore 파일을 사용하지 않고 무단 파일을 삭제할 수 있습니다. 솔직히 이맥스 임시 파일 등

+2

어떻게 해야할지 알려주고 있습니다 : 충돌 문제를 해결하십시오 –

+0

무엇이 좋을까요? – haziz

+0

'git status'가 알려줍니다. –

답변

9

Q. 어떤 충돌이있는 unstaged 대부분의 파일에 대한 상관 없어?

나중에 수정 코드의 같은 라인을 변경할 때 개정의 역 패치 병합에서 충돌 : 에게 병합 충돌

편집 당신이 최신 복귀하는 경우 커밋하면 로컬 변경 사항이 적용됩니다 (git status 참조). 단계가이고 이 unstaged 일 수 있다는 것을 잊지 마세요. 로컬 변경 사항은입니다. 쉽게 모든 로컬 변경 사항을 확인하려면, 당신은 단지 충돌 파일을 볼 수있는 병합 파일 (git status)를 개방한다

git diff HEAD 

를 사용합니다. 조만간 <<<<, =====, >>>>> 충돌 마커가 표시됩니다.

당신은

git mergetool 

당신은 비 추적 파일과 unstaged 파일 사이에 혼란을 만들고있어 GVIM 등 융합, KDiff3,

0

같은 더 사용자 친화적 인 도구를 사용하여 충돌을 해결하는 데 사용할 수 있습니다.

  • 추적되지 않는 파일이 망할 놈의 알 수없는, 당신은 (git statusUntracked files: 섹션에서 표시됩니다 즉)을 에드 결코 git add.

  • 무단 파일은 로컬 변경 사항이있는 추적 파일입니다 (커밋을 위해 준비하지 않은 파일) (git statusChanges not staged for commit: 섹션에 표시됨). 이 변경 사항은 git commit -a을 실행하면 다음 커밋에 포함되지만 -a 없이는 git commit을 실행하는 경우에는 변경되지 않습니다.

은 unstaged 변경 사항을 무시하는 자식에게 이해가되지 않습니다 : 변경이있다, 그들은 힘내에 대한 관심 파일을 누릅니다.