2013-03-18 3 views
0

이것은 중복이 될 수 있습니다. 단지 하나를 찾지 못했을 것입니다.Git에서 이전 커밋의 특정 파일에 대해 _changes_를 실행 취소하는 방법은 무엇입니까?

기본적으로 시나리오는 다음과 같습니다. 일부 커밋에서 파일에 약간의 변경 사항이 있었지만 이제 파일이 더 수정되었습니다 (새 기능을 추가하는 등).

내가 뭘하고 싶은 자동 (가능한 경우) 하지 않고, 그 커밋에서 파일에 변경 취소하는 것입니다 실제로 파일의 이전 버전으로 돌아 가지; 즉, 해당 커밋의 diff가 무엇이든, 그 반대가 현재 버전에 적용되어야합니다. 결과는 최신 "고정"버전의 최신 파일입니다.

나는 항상 컴퓨터가 이것을 할 수있는 것은 아니라는 것을 알고 있지만, 나쁜 커밋 이후에 미래가 바뀔 때 다른 위치에서 완전히 관련이 없으며 가능해야한다. 어떻게해야합니까?

답변

4

이는 실행 취소 할 commitish 및 revert 알아 :

$ git revert 53ab103e8f 

저장소에 새 항목을 작성하여 (53ab103e8f을 커밋 되돌릴 것, 즉 명시 적으로 그 변화를 되돌립니다 복귀에 문제가있는 경우, 당신은 수동으로 갈등을 해결하라는 메시지를 받게 될 것입니다.)

+0

+1 D' oh, 나는 되돌리기가 무엇인지 모릅니다. 하하. 나는 그것이 저 커밋으로 되돌아 간다고 생각했다. 감사! – Mehrdad

관련 문제