프로젝트를 진행하면서 repo / git 명령을 잘못 써서 몇십G 짜리 repository를 통째로 날려본 경험이 많아 그러지 않기 위해 이것 저것 해보다 알게된 나만의 방법 몇 가지 공유한다.
1. repo rebase
repo sync에 -c 옵션을 사용하면 수정 몇 번 하고 checkout 하면 더 이상 sync가 안되고 빨간 줄이 생기는 경우가 있다. 더러는 내 branch를 이탈하는 경우도 있다.
이럴 땐 쿨하게
$ repo rebase
하면 말끔히 해결!
물론 원하는 git만 하거나 옵션 직접 찾아보고 사용 가능하다.
<
>
2. repo forall
repo sync 하다가 보면 빨간줄로 sync 안된 git 들이 보인다.
이럴 땐 하나하나 하기 보다는 나열된 git만 추려서 다음같이 하면 쉽다.
$ repo forall
-c git checkout -f
이 것을 응용하면 기타 다른 명령도 응용 가능하다.
3. repo sync
진짜 다 날리기엔 아깝고 git 하나만 날리고 다시 받아보고 싶을 땐
지워라!
그리고 그 것만 sync 하면 된다!
예를 들면,
/source/android/$ rm kernle -rf
/source/android/$ repo sync kernel/msm
하면 kernel/msm만 sync 하여 kernel 폴더가 다시 생김.
- git project가 엉망이 되어 origin으로 HEAD를 변경하는 방법
- 첫 번째 방법
$ git fetch origin
$ git reset --hard origin/HEAD
- 두 번째 방법, 문제 branch를 NEEDFIX라고 함
$ git branch temp #새로운 branch 생성
$ git checkout temp # 거기로 이동
$ git branch -D NEEDFIX #삭제
$ git checkout NEEDFIX #checkout
repository 날리고 다시 받지 말고 끝까지 써보자!