버그 해결을 위한 모든 질문을 던져
+2 votes
249 views
git rebase -i를 이용해서 커밋을 합치려는 데
3
2
1
이 있다면 3,1만 합치고 싶은데 방법이 있을까요?

구글링 했더니 전부 3,2,1 합치는 것만 있어서... 그런 기능이 있는지 살포시 질문 날려 봅니다.
asked (6 point) , 249 views

3 answers

0 votes
이런 경우가 저도 있었는데 rebase로는 안되는거 같더군요

그래서 저는 브랜치를 하나 새로 따고 1번 이전 커밋 위치로 리셋 시킵니다.

그런뒤, 1번을 체리픽 3번 체리픽 후 리베이스 스쿼시를 한다음 2번 체리픽을 합니다..

만약 2번이 커밋이 하단으로 와야 한다면 순서가 반대가 되겠죠

그런뒤, 원본 브랜치 제거후에 작업한 브랜치를 원본 브랜치 이름으로 바꾼뒤 업스트림 조정을 합니다.

1,2,3 커밋간 충돌이 없다면 쉬운작업이지만 커밋간 종속성이 있다면 매우 힘든 작업이 될겁니다.

 

다른분들은 어떻게 하는지 궁금하네요...
answered (5 point)
0 votes
체리 픽이 특정 커밋만 병합 가능한 것으로 알고 있는데요

 

같은 브랜치에서 안된다면

 

다른브랜치의 커밋을 체리픽 하는 것도 가능했던 걸로 기억합니다.

 

브랜치를 나눈다음에 체리픽을 시도 해보는 것도 방법일듯 합니다.
answered (35 point)
+5 votes
rebase -i 에서 2와 3의순서를 바꾼 후,  3만 squash해서 사용하고 있습니다.

pick        1
squash  3
pick        2

의존 관계가 있으면, rebase 중 conflict를 고치면 되구요.
answered (14 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

96 질문
186 answers
194 댓글
211 users