다수의 상세한 작업을 필요로 할때 = Rebase (x)
다수의 브랜치로 인해 커밋 히스토리를 정리하고자 할 때 = Rebase
Merge 할 때 Conflict 및 다수 문제 상황으로 꼬였을 때 = abort
예전 프로젝트 진행시에도 그랬지만 리베이스를 진행하면서 뭔가가 꼬였을때 도움말 옵션으로 진행(continue)을 하거나 다시 되돌려야하는(abort)를 사용한 적이 있었다. 이번에도 같은 상황이었는데 하기 전에 git rebase --abort
를 한 뒤 다시 작업했다. 참고로 리베이스 push 시 --force를 사용해서 push를 하면 업로드 문제는 해결된다.
리베이스만 하고 continue를 안 한 상태로 push를 해서 git 상에서 conflict가 났다.
까먹지말자..................................
1) git add .
2) git commit -m "커밋 메시지 입력"
3) git rebase -i main
4) 리베이스 후 conflict 있으면 수정 진행 / 없으면 다음단계 진행
5) git add .
6) git rebase --continue
7) git push origin feature/브랜치이름 --force
깃에 있는 리모트 (1)
내 로컬의 메인 리모트(2)
내 로컬의 앱별 피쳐브랜치 들(2,3,4....N)
(1) 메인 브랜치로 체크아웃 후 깃의 리모트를 full 받는다(git checkout main - git pull origin master) -> (2) 내 로컬의 메인 리모트가 덮어씌워진다(하지만 이게 피쳐브랜치에도 적용된다고 생각하면 오산이다) -> (3) 그래서 피쳐브랜치에도 깃의 메인리모트를 적용시키려면 또 반복해야한다(git checkout feature/브랜치1,2,3.... - git merge main)