나는 rebase를 각 브런치의 커밋들을 보기 쉽게 정렬하는 것으로 이해했다.
각자 작업량을 한 곳에 묶은 후 최신 master브랜치 시점에 push하여 merge를 진행하는것이 rebase의 개념이다.
git checkout master
작업하는 브랜치에서 나의 local master로 이동
git pull origin master
각각의 다른 사람들이 작업 후 merge된 remote mater를 나의 master로 가져와 최신화 해준다.
작업 중인 브랜치로 이동 후 git rebase -i master
를 해준다.(1차 프젝 때 했던 git merge 느낌)
명령어가 실행 되었으면 commit 한 횟수만큼 pick으로 시작하는 commit 목록들이 보인다.
s
를 써준다 (s
는 rebase 커멘드 중 하나로 squash의 약자이다.)esc
를 누르고 shift
+;
후 wq를 입력해 저장 해 준다. 그럼 squash가 반영된다.git add .
후 git rebase --continue
입력esc
를 누르고 shift
+;
후 wq하고 저장해주자conflict를 해결 했으면 git에서 push할 때 거부하게 되는데 이때 pushdp -f를 붙여 강제로 push하면 된다.
(강제 push는 전 걸 날리고 내 것을 올리는 것이기 때문에 조심 조심 또 조심해서 사용하자!!)