Çok fazla gitme reposundan oluşan çok hızlı bir şekilde hareket eden 3. parti projeyi taşıyorum/koruyorum. Yönetici olarak repo kullanıyorlar ve sistemi oldukça iyi çalışıyor. Benimki ancak çok değil. Porting sırasında, bir seferde çoklu reposları değiştiriyorum ve kongre adını yazarak bu değişiklikleri bir araya getirmeye çalışıyorum. Ama bu çok zaman alıcıdır. Ve şimdi organizasyonumdan da yeni bir gereksinim var. İnsanlar uzun süren gazillion git reposlarını çekmekten memnun değiller. Bu yüzden, herşeyi tek bir git repo ile birleştirmemi ve reposun kullanılmayan kısımlarını kaldırmamı istiyorlar (oldukça fazla test kodu ve altın çıkışı var).Birden fazla dış git reposunu bir git repo'ya birleştirmek ve hala kökenleri takip edebilmek
Şimdi soru şu: Bu yapılabilen git? Bu
A-B-C
\
L1
D-E-F
\
L1'-L2
dönüştü Olabilir:
A-D-E-B-C-F-L1-L2
dış repo dan çekin ve rebase hala mümkün iken?
Bunun agresif olduğunu ve muhtemelen en iyi fikir olmadığını biliyorum; ama yine de, yamalı kaynakların tamamının sığ bir kopyası olacak ve bir geçmişi olmayacak olan başka bir git repo'yu korumaktan kaçınmaya çalışıyorum.
Sanırım sorgunuz görüşe dayalı. Bazı insanlar, bazılarını zaten farkettiğiniz gibi, repo'yu beğenebilirler. Aynı şey [git submodule] (https://git-scm.com/docs/git-submodule) ve [git birleştirme alt ağacı] (https://git-scm.com/docs/git-merge) için de geçerlidir. . Subtree-birleştirme sizin durumunuz için işe yarayabilir, ama eğer sadece bazı değişiklikleri geri akışa itmemeniz gerekiyorsa (otomatize etmek hala mümkündür, fakat bazı acılarla) – user3159253
başka bir olası çözüm yerel otomatik oluşturmaktır. Tüm depoların aynaları, böylece bir geliştirici repo (s) senkronizasyonu, LAN'ınızda daha hızlı gerçekleştirilecektir. – user3159253
Şey, gerçekten bir fikir istemiyordum. Bu biraz git sihir tarafından teknik olarak mümkün olup olmadığını merak ediyorum. Bunu parçalarını filtre-şubesi ile yapabilirim. Ama ağacın ucunu nasıl güncel tutacağımı anlayamadım. –