2011-05-31 11 views
5

Bir dalda birden çok işlem var. Bu incelemeleri kod incelemesi için zorladığımda, kod inceleme aracımız her işlem için bir inceleme oluşturur.Birden çok işlemi geçmişini kaybetmeden bir arada nasıl birleştirilir?

Bundan kaçınmak için, birden çok işi tek bir işlemle birleştirmek istiyorum. Aynı zamanda taahhütlerin tarihini kaybetmek istemiyorum. Ana şubemdeki tüm taahhütleri yalnızca inceleme yapmak ve inceleme şubemde tek bir taahhütle birleştirmek için yeni bir şube oluşturmak mümkün müdür? Bunu nasıl yaparım?

cevap

5

Sen bunu yapmak istemiyorum çalışabilir. Gerçek tarihi, nasıl yaptığınızı anlamında değersizdir. İnceleme için uygun boyuttaki parçalar ilginçtir, bu nedenle işyerinizi, büyük ölçüde yönetilebilir boyutlara ve en önemlisi mantıksal parçalara birleştirmek için çalışma dalınız, orijinal geçmişi gözden geçirip unutun. kaydedilmesini birleştirmek dedi

, şunları kullanabilirsiniz:

git merge --squash 

Git tarihini atmak olmaz. Bu, aslında rebase'da bunu yapmaz, ancak bu durumda, geçmişin önceki sürümü yalnızca "reflog" aracılığıyla erişilebilir kalır ve yalnızca reflog'lar için sona erme süreniz varsa (IIRC varsayılan olarak 90 gün), sonuçta erişilemez duruma gelir. ve git gc onu atar. Ancak, kabak ile orijinal dal sadece orada kalır ve yeniden gözden geçirmeyi reflog'dan yapabilirsiniz.

Ancak, incelenen geçmiş, inceleme aracı tarafından merkezi yöneticiye birleştirilecek ve hiç kimse orijinal geçmişinizi görmeyecek. Onu koruyabilirsin, ama resmi olanla ilgili olmayacak ve hiç kimse buna bakmayacak.