1. 문제 발생
- feat/lkh/result-comment 같은 다른 브랜치에서 작업 완료 후 master branch를 리베이스 하고 feat/lkh/result-comment 브랜치를 push를 했습니다.
- PR 병합 과정에서 팀장님이 수정 요구가 있었고 PR을 취소했습니다.
- 다시 작업 후 master branch를 리베이스 하고 푸쉬했더니 이런 일이 발생했습니다.

2. 문제 발생 과정
1) 작업 완료하고 Push and PR 요청

- 팀장에게 피드백 받고 PR은 취소했습니다.
- 원격 브랜치(깃허브) 내용은 a - b - c - d - e 가 됩니다.
2) 작업 중에 master 브랜치 내용이 업데이트

- 작업 완료 후 master 브랜치를 rebase하게 될 경우 로컬 브랜치는 a - b - c - g - d - e - f 가 됩니다.
- 로컬 브랜치를 push하면 원격 브랜치 (a - b - c - d - e) 와 구조가 달라서 pull을 하고 push하라는 경고가 뜹니다.
- pull 하면 충돌 정리를 해야 하는데 충돌 정리 후 push하면

- 이런 이상한 브랜치가 완성됩니다.
3. 해결 방법
1) 새 브랜치를 파서 push

- 이 브랜치가 깔끔하게 올라갑니다.
2) 강제 push
git push origin feat/lhs/login --force
--force
→ 강제로 푸시를 수행하여 원격 브랜치의 모든 내용을 덮어씁니다.
Share article