배경
요즘 내가 주로 rebase를 사용하는 때는, issue에 따라 brunch를 여러 개 만드는 경우다.
Merge과정
보통 수정 작업은 issue 생성 -> brunch 생성 -> 작업내용 commit -m -> push to 생성한 brunch(보통 dev) [pull request 생성 (작업 brunch -> parent brunch )
문제의 시작
1. dev를 기반으로 feat1, feat2 brunch 생성하고
2. feat1을 dev에 Merge를 하고 나서, feat2가 문제가 발생
왜냐하면, feat2 brunch를 생성한 시점의 dev는 feat1이 수정되기 전이기 때문이다. 그래서, 이럴 때 feat1이 merge된 dev brunch를 모두 pull받고 나서 feat2 brunch로 git checkout 한 이후, 그러고나서 git rebase dev -i 와 같이 pick하면 된다.
명령어 순서
git checkout dev
git pull // dev를 받고
git checkout 작업브랜치 // 작업하는 브랜치로 이동해서
git rebase dev -i // 반영할 commit 을 선택, 다 반영하면 :wq
git push --f // 작업 브랜치에 밀어넣기
결과
feat2의 commit 이 feat1의 commit은 제외하고 pull request 에 반영되게 된다.
'Dev-Basic > git' 카테고리의 다른 글
[git] custom 단축 명령어 만들기 (0) | 2023.11.13 |
---|---|
[git] repository 별로 다른 user 를 사용해야 할 때 (0) | 2023.11.04 |
[git] clone하기 전에 해야할 것 (0) | 2021.03.10 |
댓글