Git 에서 서브모듈을 쓰다가 보면, 최초에 포함된 submoudule init 하고 update 하면 로컬에 다운된 저장소의 브랜치가 특정 브랜치에 붙어 있지 않는 상태라고 한다.
이를 전문 용어로 "detached HEAD" (ㅋㅋ 번역 그대로네...)
라고 한다. 관련된 내용을 아주 잘 설명한 페이지가 있어서 아래에 소개
https://www.devhak.com/blog/git-detached-head
결국 브랜치가 없는 상태에서 수정 삭제를 해서 commit 을 하면 commit 작업 자체는 아무런 문제 없이 된다고 한다. 그럼 나중에 실제 존재하는 branch를 checkout 해서 사용하게 될 때는 이전에 commit 한 작업들의 적용이 되지 않는다.
이땐 둥둥 떠다니는 고스트같은 commit 들을 merging 하면 될 듯 한데, 이방법만 참고용으로 간단히 여기 다시 복사해서 가져다 둔다.
기존 브랜치에 커밋 붙이기
1. git reflog로 둥둥 떠다니는 커밋의 id를 확인
2. git checkout 기존브랜치 기존 브랜치로 이동
3. git cherry-pick 커밋id 떠다니던 커밋 기존브랜치에 붙이기
BJ.
Genine Alyssa Pedreno-Andrada 님의 사진, 출처: Pexels
'IT > Software' 카테고리의 다른 글
ESP32 IDF 설치 Espressif-IDF for VSCode (2021) (0) | 2021.11.16 |
---|---|
Error using mbedtls_x509_crt_parse (0) | 2021.10.25 |
CMake Overriding a default option - 다른 파일 에서 (0) | 2021.10.14 |
NTP - 간단하게 타임스탬프 가져오기 (0) | 2021.10.07 |
MS Windows 빌드 툴 설치 (0) | 2021.09.15 |