2023. 2. 15. 20:12ㆍ분석 Python/구현 및 자료
submodule 추가하기
git submodule 추가하기
git submodule add <url>
확인하기
cat .gitmodules
추가한 내용 반영하기
git commit -m "add submodule"
git push
# git push origin main
# git push origin master
서브모듈을 최신 버전으로 업데이트
submodule 최신으로 업데이트하기
git submodule foreach git pull origin main
submodule 안에 submodule이 없는 경우
git submodule update --remote
submodule 안에 submodule이 있는 경우
git submodule update --remote --recursive
서브모듈이 있는 git clone 하기
git clone --recurse-submodules <url>
git push가 안 될 때 / detached HEAD 문제 해결 방법
HEAD detached는 HEAD가 직접 커밋을 가리키는 것이라고 한다.
평상시에는 HEAD는 브랜치를 가리킨다.
Detached HEAD란?
먼저 HEAD는 Git이 현재 스냅샷을 참조하는 방법이다. 사실 git checkout 명령은 HEAD로 하여금 특정 브랜치나 커밋을 가리키도록 업데이트 하는 것 뿐이다. HEAD가 브랜치를 가리킬 때는 문제가 없다. HEAD는 브랜치를 가리키고, 브랜치는 최신 커밋을 가리키니까.
https://velog.io/@nittre/Git-git-checkout-%EA%B3%BC-detached-HEAD
그러나 당신이 커밋을 직접 check out 하면 'detached HEAD' 상태가 된다. 커밋을 직접 check out 한다는 것은 브랜치의 특정 커밋을 가리킨다는 것이다.
아래의 그림에서는 HEAD가 브랜치가 아닌 커밋 b를 가리키고 있다.
우리의 작업 공간이 커밋 b이기 때문에, 기존 브랜치에 commit할 수가 없다. 이미 커밋 c가 있기 때문이다.
그래서 Git은 HEAD가 특정 커밋을 가리키는 이 상태를 detaced HEAD(분리된 머리) 상태라고 명명했다.
detached HEAD 상태에서 작업은 할 수 있다. 커밋도 할 수 있다. 다만 그것을 다른 작업과 merge하거나 리모트에 pull 할 수는 없다. detached HEAD 상태에서 작업한 내용물들은 어느 브랜치에도 속해있지 않기 때문이다. 따라서 detached HEAD 상태에서 다른 브랜치로 checkout 하면 다시 detached HEAD 상태 때 했던 작업으로 돌아갈 수 없다. (detached HEAD 일 때 했던 커밋 ID를 알면 돌아갈 수는 있긴 하지만 어렵다.)
만약 특정 커밋에서 했던 작업을 살리고 싶다면 어떻게 해야 할까?
간단하다. detached HEAD 상태일 때 했던 작업을 브랜치로 만들어주는 것이다.
$ git checkout -b <new branch name>
https://aroma-dev.tistory.com/4
git branch temp
git checkout temp
git branch -f master temp
git checkout main # master
git branch -d temp
git push
참고
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84%9C%EB%B8%8C%EB%AA%A8%EB%93%88
'분석 Python > 구현 및 자료' 카테고리의 다른 글
Tabular) 좋은 피처 만드는 전처리 방법 정리해보기 (preprocessing) (1) | 2023.10.04 |
---|---|
Python) AVLTree Search를 통해서 특정 값의 범위 찾기 (ChatGPT와 함께) (0) | 2023.03.22 |
python) metaflow 파이썬 스크립트에서 실행해보기 (0) | 2023.02.10 |
Python) multiprocessing 코어 수 제한해서 돌리기 (0) | 2023.02.04 |
Python) pyarrow 사용 방법 (0) | 2022.12.21 |