2015-01-13 1 views
2

의 지점에있는 모든 커밋 내가스쿼시는 자식

... - last_commit_in_master - C1 - C2 - .. - C100 

가 지금은 하나 하나에 모든 커밋을 병합 할 마스터 커밋 마지막에서 기능 지점에서 커밋의 숫자를 말해봐.

  • git rebase -i master
  • 가 첫 번째 제외한 모든 선택을 교체 :

    나는 하나 개의 솔루션을 알고있다. 유우, 정력에 2,s/pick/squash/이 있습니다. < - 그 때마다 싫어하는 단계입니다.

  • 새 커밋 이름을 선택하십시오.

더 쉽게 할 방법이 있습니까?

답변

1

스쿼시 대신 첫 번째 픽스처를 제외한 픽스 업을 픽스 업으로 바꾸고 새 커밋 이름을 선택할 필요가 없습니다. 그러면 모든 커밋이 동일하게 적용됩니다.

+0

글쎄, 오래된 커밋을 검토하고 새로운 이름을 선택하는 것은 그렇게 나쁘지 않습니다. – RiaD

1

모든 커밋을 하나로 결합하는 경우 커밋 메시지와 마지막 커밋 시간이 필요합니다.

git reset --soft $(git merge-base HEAD master) 
git commit -c ORIG_HEAD 

(이것은 당신이 그것을 조정할하려는 경우이 메시지를 다시 편집 할 수 있습니다.)이 리베이스되지 않습니다

. 이 작업을 별도의 단계로 수행하십시오.