git

[Git] 04. 다른 커밋으로 이동하기

hoazzinews 2025. 6. 7. 08:20
반응형

Git에서 다른 커밋으로 이동한다는 것은 특정 커밋 시점의 코드 상태로 작업 디렉토리를 전환하는 것을 의미합니다.

 

1. 커밋(commit) 확인 하기

$ git log

 

2. 특정 커밋으로 이동하기

$ git checkout 55737f57d

 

3. 파일 확인하기

 

4. 이전 커밋으로 이동하기

$ git log

$ git checkout -

$ git log

 

5. reflog

reflog는 references log 즉, 참조 기록을 뜻 합니다. git reflog는 Git의 HEAD 이동 이력을 보여주는 명령어입니다. 여기서 이전 커밋들에 대한 참조를 찾을 수 있습니다.

 

$ git log
$ git checkout 55737f5

$ git log

 

두 번째 작업 완료! 커밋을 볼 수 없다. 이유는 특정 커밋 ID로 git checkout을 하면 분기(branch)된 상태가 아닌 detached HEAD 상태가 됩니다. 그리고 이 상태에서 git log를 하면, 현재 HEAD를 기준으로 도달할 수 있는 커밋만 보입니다. 따라서 두 번째 작업 완료! 커밋(commit d9bcce8)은 HEAD에서 도달할 수 없는 상태이기 때문에 보이지 않는 것입니다.

 

이런 경우 git reflog 사용해서 문제를 해결할 수 있습니다. git reflog는 Git의 HEAD 이동 이력을 보여주는 명령어입니다. 여기서 이전 커밋들에 대한 참조를 찾을 수 있습니다.

 

$ git reflog

 

$ git checkout d9bcce8