반응형
Git을 사용하다보면 특정 커밋들만 날리고 싶을때가 있습니다.
근데 하필 그게 한참 전 커밋들이거나, 중간 커밋들이면 reset
으로 골라내기가 쉽지 않은데요.
이럴때 rebase interactively
를 사용하기가 좋습니다.
해결방법
예를 들어 아래와 같이 REC-296
커밋 2개를 모두 빼고 싶은 상황이라고 가정해봅니다.
![1](https://blog.kakaocdn.net/dn/bAtiPx/btrjYhhsRC8/OOKlsqUKQX4GYZKvLgzWa0/img.png)
그럼 그 직전 커밋을 선택합니다.
![2](https://blog.kakaocdn.net/dn/cmNGt6/btrjTZpg7y5/e6GEBjlmx5sgi2aVwrPLn1/img.png)
해당 커밋을 우클릭을 하신뒤, Rebase children of ... interactively
을 선택합니다.
![3](https://blog.kakaocdn.net/dn/ctLtbz/btrjXDkKmsp/CnI46KXVQxF20IvHXfeRk0/img.png)
그럼 아래와 같이 리베이스 화면이 나오는데, 여기서 삭제를 원하는 커밋을 선택한뒤, 하단의 Delete를 클릭합니다.
![4](https://blog.kakaocdn.net/dn/OOJSj/btrjWo2FK8i/OPzzZBgKCi8TtCQWk5c8w1/img.png)
그럼 해당 커밋을 삭제 표기가 됩니다.
지우고싶었던 2개의 커밋을 모두 delete를 하고, OK를 누르시면 그때부터 Rebase가 시작됩니다.
![5](https://blog.kakaocdn.net/dn/bm3aiU/btrjYiAEEry/d7G613VoMnJqIKe0yDiZn1/img.png)
Rebase 중 Conflict 난 부분은 수정해서 Rebase를 마무리 합니다.
![6](https://blog.kakaocdn.net/dn/bsCtlq/btrjVBPeNqs/KUp8AHbRwcX5yIKHBEk6JK/img.png)
Rebase가 잘 마무리되시면?
아래와 같이 문제가 있었던 REC-212
커밋들이 모두 삭제된 깃 그래프를 볼 수 있습니다.
![7](https://blog.kakaocdn.net/dn/bz9h4J/btrjZNNW4b1/V143qFeVidU0wC7t8iZGK0/img.png)
반응형