커밋해시를 이용해 특정 커밋으로 돌아가는 법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 소프트웨어 개발자, Git 사용자*
- 중간 수준 이상의 Git 지식이 필요한 개발자*
핵심 요약
- SHA-1 해시값은 커밋의 고유 식별자로, 40자리 16진수 문자열 형태
- 작업 중인 변경 사항은
git stash
로 임시 저장 후git restore
/git clean
으로 초기화해야 함 - 특정 커밋으로 이동 후 분기 생성(
git checkout <해시>
→git checkout -b <브랜치명>
) 후 기존 작업 병합(git merge
)
섹션별 세부 요약
1. 커밋 해시 이해
- SHA-1 해시는 커밋 메시지, 파일 상태, 시간 등을 기반으로 생성됨
- 원격/로컬 저장소에서 해시 확인 가능(예:
git log
) - 해시가 존재하는 저장소가 삭제되면 복구 불가능
2. 커밋으로 되돌아가는 절차
- 1단계:
git stash
로 변경 사항 임시 저장 - 2단계:
git add
→git commit
으로 작업 내용 커밋 - 3단계:
git restore <파일명>
→git clean -fd
로 작업 초기화 - 4단계:
git checkout <해시>
로 특정 커밋으로 이동
3. 분기 전략과 병합
- 새로운 브랜치 생성(
git checkout -b feat/fork2
) - 기존 브랜치(
feat/fork
) 작업 병합(git merge feat/fork
) - 충돌 발생 시 수동 해결 필수
결론
- 복잡한 작업 중단 시
git stash
로 임시 저장 후 커밋으로 이동 - 안정적인 커밋 기준으로 새로운 브랜치 생성 후 기존 작업 병합
- SHA-1 해시는 커밋의 유일한 식별자이므로 보관 필수
- 커밋 해시가 존재하는 저장소가 모두 삭제되면 복구 불가능함