2016-08-01 3 views
1

제목이 분명하지 않으면 죄송합니다. 나는 무엇을 써야할지 확신하지 못했습니다. 내가 물어보고 싶은 것은 프로젝트에서 일하고 있고 며칠 전에 커밋을했지만 밀어 붙이지 않았다는 것입니다. 그 이후로 코드에 많은 변화를 주었고 많은 파일도 추가했습니다. 어제, 나는 코드를 github에 넣기로 결정했다. 그 일을하면서 처음에 이전에 만들어 졌던 커밋을 github에 밀어 넣었습니다. 하지만 이제 내 repo가 ​​이전 커밋으로 재설정되었습니다. 내가 한 모든 변경 사항과 그 커밋 이후 작성한 새 파일은 사라졌습니다. 그 모든 변경 사항과 파일이 영구적으로 삭제되었는지 알고 싶습니다. 그렇지 않다면 다시 가져 오는 방법은 무엇입니까?이전 커밋을 github에 푸시 한 후 현재 상태로 이동

+0

합니까'로 돌아갈 원하는 HEAD로 교체해야 만 예입니다 git checkout '변경 사항을 다시 가져 오시겠습니까? 이것이 복사본을 특정 분기의 헤드로 재설정하는 일반적인 방법입니다. 또한,'git push'는 리모트 repo에없는 현재 브랜치를 따라 암시 적으로 _all_ 커밋을 푸시하므로 이전의 커밋을 개별적으로 푸시 할 필요가 없습니다. –

+0

아니요. git checkout 은 내 변경 사항을 다시 가져 오지 않습니다. 그것이 문제입니다. 나는 새로운 커밋을하지 않았습니다. 방금 나이가 많은 사람을 밀었습니다. –

+0

@janos ... 미안 나는 github에 익숙하지 않은 나는 잘 용어를 모른다. 방금 전 커밋을 푸시 며 며칠 동안 다시 만들었습니다. 이제 나의 레포는 내가 저 커밋을 한 국가로 돌아갑니다. –

답변

0

git reflog을 사용해보세요. 이것은이 일부 다시 재설정하려면 HEAD 포인터

의 변화를 촉발 당신이 수행 한 작업에 대한 추적

reflog

Besically 아래에 당신에게 유사한 목록을 제공한다 당신이 당신의 pull을했습니다 전에 이전 상태는 말 ... 또는 당신이 한 전에 나쁜 git reset --hard ...

는이 목록에서 작업 디렉토리에 변화를 트리거 작업을 찾은 다음 HEAD 이전에 재설정 할 수 있습니다 에 사용하여이 조치 :

git reset --hard [email protected]{4} 

HEAD의 @는 {4}

위는 당신이

관련 문제