2014-04-24 3 views
1

저는 (어리석게도) 며칠 동안 프로젝트를 변경하거나 커밋하지 않았습니다. 오늘 밤, 나는 실수로 메시지가없는 커밋을 만들었습니다. Atlasssian의 Sourcetree를 사용하여 나는 "이것을 밀어 넣기 전에 메시지를 추가하겠습니다."라고 생각하고 오른쪽 클릭하여 "되돌리기"를 선택했습니다.어떻게 작업 커밋을 특정 커밋으로 재설정 할 수 있습니까?

나는 내가 선택한 다른 옵션들이 그 모든 것을 원래대로 되돌려 놓았지만, 지금 당장 나는 몇 시간의 일을 잃을 까봐 두려워서 무서워하고있다. 아래의 스크린 샷을 보면 저의 작업 카피 본의 버전과 내 레포의 가장 최근 커밋을 강조 표시하고 싶습니다 ("MASTER 1 ahead no message").

어떻게해야합니까?

enter image description here

답변

3

당신이, 아직 아무것도 밀어 있지 않기 때문에 아이디어는, 다음과 같습니다 (명령 행에서) 당신이 머리를 이동할 수 있도록 할

git stash 
git reset --hard HEAD~ 
git commit --amend 

이 (인덱스를 재설정하고 작업 트리, 따라서 진행중인 작업을 숨겨 놓는 것이 중요 함), 커밋 메시지를 편집하십시오.

소스 트리 (SRCTREE-770, 1.3b3부터 지원)에서 HEAD를 이동할 수 있어야하지만이 경우 명령 줄이 더 정확할 수 있습니다.

Revert가 이전 커밋을 취소하는 또 다른 커밋을 만들었습니다. 작업 트리가 수정 되었기 때문에 reset --hard은 모든 커밋을 이전 커밋 (커밋 메시지가없는 커밋)으로 재설정합니다.

+0

감사합니다. 나는 오늘 밤 잠을 자려고했다. – drewwyatt

관련 문제