2012-10-09 10 views
1

몇 주 전에 내가 한 커밋을 볼 필요가 있습니다. 나는 내가 한 후 그것이 상태로 일시적으로를 내 사이트 를 복원해야이전 커밋을 복원하는 방법

> git log --oneline -10 
b45e80d ten 
711aa9c nine 
166dbfa eight 
26abb54 seven 
ddd6bb6 siz 
54430c3 five 
ca2d76f four 
81ccc8c three 
d362fbc two 
7d43aba one 

을 할 때 내가 그것에 대해 어떻게 가야합니까 81ccc8c three

를 저지? 내가

git revert 81ccc8c 

을 시도하고 프로젝트 폴더에 업데이트되지 않았습니다 내 파일은 그러나 그것은 내가 git status을했을 때 변화의 무리를 보여 나에게 revert을시키지 않을 것임을 전에


좋은 것은 내가 REPO가의 Bitbucket을 추진했다 다른 커밋으로 돌아갑니다. 이것은 그 커밋의 내용을 반영하기 위해 디렉토리를 업데이트합니다

git checkout 81ccc8c 

: 난 그냥 커밋 체크 아웃 다시 b45e80d ten

답변

3

당신이 원하는에 가서 무엇을해야

. 먼저 변경 사항을 숨겨야 할 수도 있습니다. 그 후에는 detached head state이 될 것이고, 당신이 현재 커밋과 어떤 브랜치를 연관시키지 않으면 어떤 커밋도하지 말아야한다. 이것은 현재의 지점에서 벗어나게하고 체크 아웃을 매개 변수로 사용하는 것이 커밋의 상태에서 당신을 넣어 것입니다

git checkout 81ccc8c 

:

1

당신은 체크 아웃을 사용할 수 있습니다. 지점으로 다시 돌아가려면 이전에 있던 지점 (예 : 마스터)을 체크 아웃하십시오.

git checkout master 

되돌리기를 사용하지 않으려합니다. 그것은 새로운 커밋을 적용합니다. 은 취소합니다. 의도 한 것이 아닌 되돌리기 매개 변수로 전달한 커밋입니다. 의도하지 않은 되돌리기의 효과를 되돌리려면 'ten'커밋으로 재설정해야합니다 : git reset --hard b45e80d.

+0

doh git는 너무 복잡해서 파일을 수동으로 복사하는 것이 더 낫다. ... 글쎄 나는 위대한 도구로 git를 계속 사용하지만 위의 명령은 git repo를 복사한다. 밀어 :) –

관련 문제