반응형
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
'git' 카테고리의 다른 글
[Git] 06. master에서 temp-branch로 이동하기 (0) | 2025.06.07 |
---|---|
[Git] 05. detached HEAD (0) | 2025.06.07 |
[Git] 03. 저장소(Local Repository)에 저장하기 (0) | 2025.06.07 |
[Git] 02. 로컬 저장소 만들기 (0) | 2025.06.07 |
[Git] 01. Git 설치 방법 (0) | 2025.06.07 |