Eski SVN deposu, tüm dalların/etiketlerin tüm doğru yerlere ulaşmaya çalışılmasını içeren Git'e dönüştürülmesi sürecindeyim. Bu bölüm gayet iyi gidiyor, ama benim senaryoda tarihte bir taahhüt eklemek istediğim zamanlar var ki, daha sonra bir sonraki taahhütle squash etmek istiyorum. Sorun şu ki, taahhütleri tek tek ele almıyorum, ama büyük bir grup olarak, onları SVN deposundan çıkarırken onları ezemem. Sonunda, benim depo şöyle görünür:Squash iki Git interaktif rebase olmadan tarihin ortasında taahhüt eder
* (branch_2, HEAD) commit 5
* commit 4
* commit 3
* SQUASH ME!
* (branch_1) commit 2
* commit 1
Ben interaktif rebase ile Açıkçası kolay, ancak bir komut dosyası içinde daha zorlu olan SQUASH ME!
ile commit 3
ezmeye isterler. Ben var gibi ana sorun branch_1
ya da herhangi bir işlemden önce ödeme için kolay, o zaman sonra işlemek için sormak zor ve branch_2
geri gitmek için ne kadar taahhütler tahmin etmek benim için zor . Ben gerçekten şu gibi bir şey yapabilmek istiyorum:
git checkout branch_1+2
Herhangi bir işaretçi? kabak taahhüt düzeltme BAŞ taahhüt mesajı kullanır oysa, etkileşimli msj taahhüt soracaktır çünkü
(komut dosyaları için harika) interaktif olmak zorunda kalmadan ezmek gibi şeyler yapmak için Rebase komutu için seçenek "üzerine" bir göz atın .pivotal.io/labs/labs/git-rebase-onto –
@ Jonathan.Brink Tam olarak aradığım şey bu değil. Bu yazı, taahhütleri düşürebilmeyi vurgular. Değişiklikleri yapmak istediğim için 'SQUASH ME!' Taahhüdünü ezmek (veya düzeltmek) istiyorum. Sadece onları '3' ile birleştirmelerini istiyorum. –
Komut dosyasının etkileşimli yeniden oluşturma sırasında düzenleyici olarak hareket etmesini sağlamak daha basit olabilir. – coredump