반응형
내가 작업하던 브랜치에서 다른 분이 작업한 브랜치를 덮어씌워서 업데이트 사항을 확인하다가 꼬여버렸다.
내가 작업하던 브랜치로 돌아가려고 git reset @HEAD{n} 으로 시간을 되돌리니
얘는 내가 한 커밋만 돌아가버려서 다른 브랜치에서 받아온 커밋들은 사라지지 않고 남아 있었다.
한마디로 업데이트는 업데이트대로 되고 내 작업물은 작업물대로 없어져버린 상황이다.
아예 브랜치를 받아오기 이전, 특정 커밋 시점으로 완벽하게 돌아가고 싶다면?
Git(39) 로컬 브랜치 덮어쓰기
커밋 히스토리를 보고 돌아갈 시점을 찾는다.
checkout 해서 그 시점으로 돌아간 후, 해당 브랜치에 체크아웃을 해줘서 그시점의 브랜치로 돌아가자
$ git llg // 커밋 히스토리를 나름 가시적으로 볼수있다. 여기서 필요한 커밋 넘버를 추출했다.
$ git checkout d0ce7a7 // 다른 브랜치에 영향을 받기 전으로 완벽하게 돌아간다.
$ git status // HEAD 가 해당 hash#(d0ce7a7) 을 향하고 있다.
$ git checkout CEN-308 // 그 시절 내 브랜치에 체크아웃해서 돌아간다
$ git reset --hard d0ce7a7 // reset 으로 해당 커밋 hash# 를 넣어준다. (그때 그 시절로 완전히 돌아간다)
반응형
'Git' 카테고리의 다른 글
Git - 실행오류 this exceeds GitHub's file size limit of 100.00 MB (0) | 2024.08.07 |
---|---|
Git - Remote Origin Already Exists 에러 해결하기 (3) | 2023.08.09 |
Git(38) 삭제한 stash 복구 하기 (0) | 2022.07.19 |
Git(37) 원격브랜치에서 작업하고 pull, push 하기 (0) | 2022.04.19 |
Git(36) BitBucket - Merge branch 'master' of bitbucket.org (squash방식일 때) (0) | 2022.02.21 |
댓글