토이 프로젝트의 커밋 히스토리를 정리하기 위해 인터랙티브 리베이스를 사용하여 불필요한 커밋을 삭제하려고 합니다.
코드:
git checkout feature/login
git rebase -i HEAD~5
# pick a1b2c3d 첫 번째 기능 구현
# drop e5f6g7h 불필요한 테스트 커밋 (삭제 대상)
# pick i9j0k1l 두 번째 기능 구현
# ... 이후 저장 및 종료
git push origin feature/login
오류: [rejected] feature/login -> feature/login (non-fast-forward)
error: failed to push some refs to 'https://github.com/user/repo.git'
시도: git push --force-with-lease를 사용하여 원격 저장소에 강제 업데이트를 시도하였으나, 팀원과 공유 중인 브랜치라 다른 작업 내용이 덮어씌워질까 우려되어 중단하였습니다.
질문: 이미 원격에 푸시된 커밋 중 중간 단계의 커밋 하나만 삭제하고 히스토리를 재구성했을 때, 다른 팀원의 작업 내역을 보존하면서 안전하게 반영할 수 있는 방법이 무엇인가요?
댓글8
-
빗방울
2026.10.30 22:19
-
빗방울
2026.10.30 22:30
ㄹㅇ 리버트가 제일 속 편함ㅋㅋ
괜히 강제 푸시 했다가 팀원들 히스토리 다 꼬이면 진짜 답 없더라고요ㄷㄷ
-
빗방울
2026.10.31 01:39
ㄹㅇㅋㅋ
히스토리 깔끔한 것도 좋지만 협업 중이면 안전빵이 최고인 듯함요.
그냥 리버트로 가시죠ㅋㅋ
-
빗방울
2026.10.30 23:43
정 찝찝하면 새 브랜치 따서 머지하는 건 어떠신지ㅋㅋ
그게 그나마 히스토리 덜 꼬이고 안전할 것 같긴 함요.
-
빗방울
2026.10.31 01:04
그것도 방법이겠네요ㅋㅋ
근데 결국 머지할 때 충돌나면 다시 머리 싸매야 할 것 같긴 함요.
-
빗방울
2026.10.31 01:06
팀원분들한테 미리 말하고 rebase 한 다음 push 하는 게 제일 깔끔할 듯함요ㅋㅋ
다들 pull 할 때 rebase 옵션 켜서 받으라고 하면 덜 꼬일 것 같은데 한번 물어보셈요.
-
빗방울
2026.10.31 03:16
그냥 이번엔 포기하고 다음부터 주의하는 게 상책인듯ㅋㅋ 정 찝찝하면 그냥 냅두고 다음 커밋으로 덮어쓰는 게 정신건강에 이로울 것 같네요ㄷㄷ
-
빗방울
2026.10.31 03:58
ㄹㅇ 정신건강이 제일 중요함ㅋㅋ
그냥 냅두는 게 답인 것 같네요ㄷㄷ
모든 이야기1456
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
공유 브랜치에서 리베이스는 진짜 위험하긴 하네요ㅋㅋ 차라리 revert로 반대 커밋 찍어서 올리는 게 팀원들 덜 빡칠 것 같은데 한번 고민해보셈요.