SORU
15 EYLÜL 2009, Salı


Nasıl iki gıt depoları birleştirme musunuz?

Aşağıdaki senaryoyu düşünün: Bir kendi gıt onun repo küçük bir deneysel proje geliştirdim. Şimdi olgunlaştı ve kendi büyük deposu olan büyük proje B, bir parçası olmak istiyorum. Şimdi B. bir alt dizin olarak Bir ekleme yapmak istiyorum

Nasıl herhangi bir tarafında tarih kaybetmeden B içine Bir birleştirme.

CEVAP
15 EYLÜL 2009, Salı


İki olası çözümü vardır:

Alt modüller

Kopyalardan büyük proje B içine ayrı Bir dizin depo, ya (belki daha iyi) proje B alt depo Sonra klon git submodule Bu bir depo yapmak için kullanınsubmoduledepo B

Bu iyi bir çözüm için gevşek çiftli depoları, nerede gelişiminde Bir depo devam ediyor ve büyük bölümünü gelişme ayrı tek başına geliştirme A. Ayrıca Bakınız SubmoduleSupport GitSubmoduleTutorial sayfalarındaki Gıt Wiki.

Alt birleştirme

Bir proje B kullanarak bir alt depo birleştirebilirsinizalt birleştirmestrateji. Bu Markus Prinz tarafından Subtree Merging and You açıklanmıştır.

git remote add -f Bproject /path/to/B
git merge -s ours --no-commit Bproject/master
git read-tree --prefix=dir-B/ -u Bproject/master
git commit -m "Merge B project as our subdirectory"
git pull -s subtree Bproject master

Ya da kullanabilirsinizgıt ağacıapenwarr (Avery Yazılmıştır), aracı (repository on github) blog görevinden A new alternative to git submodules: git subtree örneğin duyurdu.


Sizin durumunuzda (daha büyük Bir projenin parçası B) doğru çözüm kullanmak olacaktır sanırımalt birleştirme

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • girleffect

    girleffect

    20 Mayıs 2008
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011
  • The Onion

    The Onion

    14 Mart 2006