본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

reflog2

Git 커밋을 잃어버렸을 때: reflog 확인 후 복구 브랜치부터 만드는 순서 reset이나 rebase 뒤 커밋이 보이지 않으면 먼저 로컬 reflog에서 후보를 찾고 내용을 확인하세요. 바로 reset --hard를 실행하기보다 새 복구 브랜치를 만들어 후보 커밋을 보존하는 편이 현재 작업을 보호하기 쉽습니다.적용 환경: reflog와 해당 커밋 객체가 남아 있는 로컬 Git 저장소. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 현재 브랜치에서 안 보이는 것과 삭제는 다릅니다reflog는 로컬 참조가 이동한 기록입니다. HEAD 기록에는 브랜치 전환도 포함됩니다. 일반 커밋 이력과 다르며 원격 저장소와 같은 기록을 공유한다고 가정하면 안 됩니다.이 방법은 커밋 객체와 필요한 기록이 남아 있을 때의 경로입니다. 커밋하지 않은.. 2026. 10. 26.
Git detached HEAD 해결: 브랜치 이동 전에 커밋을 보존하는 순서 detached HEAD는 저장소가 고장 났다는 뜻이 아닙니다. 브랜치 이름 대신 특정 커밋을 보고 있는 상태입니다. 그 상태에서 만든 커밋을 남기려면 다른 브랜치로 이동하기 전에 현재 커밋에 새 브랜치를 붙이세요. 이미 이동했다면 reflog에서 실제 커밋을 확인한 뒤 복구 브랜치를 만듭니다.원인: 브랜치가 아니라 커밋을 체크아웃했다태그나 커밋 ID로 이전 버전을 확인하면 현재 위치가 브랜치와 떨어질 수 있습니다. 이 상태에서도 커밋은 만들 수 있지만 새 커밋이 원래 브랜치를 자동으로 앞으로 이동시키지는 않습니다. CI가 특정 커밋을 정확히 빌드하려고 이런 상태를 만드는 경우도 있으므로 경고만 보고 수정할 필요는 없습니다.상태먼저 할 일피할 일현재 detached 커밋 유지새 브랜치 생성먼저 다른 곳 .. 2026. 10. 19.