2012-08-28 2 views
2

나는 Git 프로그래밍을 사용했다. 문제의 사례는 다음과 같습니다 :이미 변경을 저지른 후 이전 위치로 돌아갈 수있는 방법

"나는 단지 master 브랜치에서 내 변경 사항을 커밋하고 그에 대한 패치를 생성했습니다. 사실 저는이 커밋을하기 전에 패치를 저장하고 원래 위치로 되돌리고 싶습니다. "어떻게 할 수 있니?"

감사

당신은 git log 실행

답변

2

, 당신은 당신이 가고 싶은 커밋의 SHA1을 발견하고이 시점에서 커밋 새 분기를 만들 시작하려면 당신은

git checkout <sha1> 

을 실행

git checkout -b <branchname> 

또는이 시점에서 당신은

함께이 SHA1에 master를 이동할 수 있습니다 6,
git br -f master <sha1>; git checkout master 
+0

그래 내가 생각하는 '자식 체크 아웃 '하지 않는 것이 좋습니다 DETACHED_HEAD 모드에서 빠져 나오기가 쉽지 않습니다. 특히 Git에 익숙하지 않은 분에게는 특히 유용합니다. – Vince

+0

이렇게 할 수 있습니까? "git reset --hard HEAD @ {1}" 동일한 분기에서 이전 커밋. –

+1

'HEAD @ {1}'은 HEAD의 마지막 위치 인 이전 커밋과 정확하게 일치하지 않으므로 커밋이 정확히 마지막 작업 일 경우에는 작동합니다. 올바른 명령은'git reset -hard HEAD ^'입니다. 포인터가 한 커밋 뒤로 이동하기 때문입니다. – jolivier

0

당신은 당신의 SHA 커밋, 그것에서 당신 지점 다음, 당신은 git show를 실행하고 원하는 하나를 참조 즉 검색 : 당신이 얻을 때문에

git checkout -b yournewbranch commitSHA

관련 문제