본문 바로가기
Git

Git(39) 로컬 브랜치 덮어쓰기

by 새발개발JA 2023. 2. 9.
반응형

 

 

내가 작업하던 브랜치에서 다른 분이 작업한 브랜치를 덮어씌워서 업데이트 사항을 확인하다가 꼬여버렸다.

내가 작업하던 브랜치로 돌아가려고  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# 를 넣어준다. (그때 그 시절로 완전히 돌아간다)

 

 

 

 

 

 

반응형

댓글