History
release/v2.0.0에서fix/task-807을 따서 작업한 상황
- 새로운 작업이 발생하여
fix/task-807에서fix/task-808을 따서 작업을 하고fix/task-807로 머지 필요
Issue
release/v2.0.0에서fix/task-808을 땄음
fix/task-808에서 작업을 완료한 후 pushfix/task-807을 pull하면 되지만 커밋 흐름 유지를 위해 807 → 808 순서로 커밋을 변경하고 싶음
Solution
새로운 작업 제거하기
fix/task-808브랜치에서 808건의 작업들을 drop 시킴
// 작업이 1건밖에 없었음 git rebase -i HEAD~2
// pick 008ec7d8 이전 작업 pick 3d750182 808건 관련 작업 . . .
// pick 008ec7d8 이전 작업 d 3d750182 808건 관련 작업 . . .
i를 눌러 편집 모드로 들어간 후 3d750182의 앞에 pick을 d(rop)으로 변경 후 wq를 눌러 편집 저장- push된 브랜치와 현재 브랜치의 커밋이 달라졌음 → 현재 브랜치로 업데이트 필요 : force push
git push -f
base 브랜치 merge
git merge fix/task-807
새로운 작업 가져오기
stash로 해당 작업 저장하지 못한 경우, rebase로 인해 해당 작업이 날아가서 다시 불러와야 함
reflog를 통해 현재 브랜치 작업 상황 파악
git reflog
1166a6ce (origin/fix/task-808) HEAD@{5}: rebase (start): checkout HEAD~2 89c43c8f HEAD@{6}: commit: 808건 관련 작업 ...
cherry pick을 이용해서 복사해둔 커밋 가져오기
// 89c43c8f: 커밋 해시 git cherry-pick 89c43c8f