를 저지 하나에 A와 K 사이의 커밋 :내가 스쿼시 수 어떻게이 같은 커밋 히스토리가있는 경우 Z에게
A-B-C-------G-H-J-K (master)
\ /
D-E-F
을 나는 하나의 커밋으로 A와 K 사이에 저지른 스쿼시 할 수있는 방법 Z :
A-Z-K (master)
?
를 저지 하나에 A와 K 사이의 커밋 :내가 스쿼시 수 어떻게이 같은 커밋 히스토리가있는 경우 Z에게
A-B-C-------G-H-J-K (master)
\ /
D-E-F
을 나는 하나의 커밋으로 A와 K 사이에 저지른 스쿼시 할 수있는 방법 Z :
A-Z-K (master)
?
첫째, 실행 :
git rebase -i A
이 당신은 커밋 C의 앞에 텍스트 pick
을 변경해야합니다 B에서 시작 K.
로 끝나는 텍스트 편집기에서 커밋의 목록이 표시됩니다 , D, E, F, H 및 J를 s
또는 squash
으로 변환합니다. 은이 아니며 B 또는 K 앞에 pick
이 변경됩니다. 커밋 G는 병합 커밋이기 때문에 빠져 있어야합니다.
마지막으로 편집기를 저장하고 종료하십시오. 그러면 실제 리베이스가 시작됩니다.
결과이됩니다
A-Z-K' (master)
\
B-C-------G-H-J-K (no branch)
\ /
D-E-F
결국 가비지 컬렉션에 의해 제거 될 수없는 것이다 지점에있는 부분.
유용한 링크 - [git rebase를 사용하여 여러 커밋 결합하기] (http://feeding.cloud.geek.nz/posts/combining-multiple-commits-into-one/) – timotei