Yanıtlar:
Git alt modüllerini kullanmak istediğiniz gibi görünüyor .
Git, alt modülleri kullanarak bu sorunu giderir. Alt modüller, bir Git deposunu başka bir Git deposunun alt dizini olarak tutmanıza izin verir. Bu, projenize başka bir depoyu klonlamanıza ve taahhütlerinizi ayrı tutmanıza olanak tanır.
İki ayrı ve farklı depoyu korumak için her zaman sembolik bağlar kullandım.
.gitignore
mı?
rsync -avh --delete --exclude='.git' REPO-B/ REPO-A/REPO-B-copy/
REPO-B'de herhangi bir değişiklik olduktan sonra koşuyorum
Evet, çizdiğiniz dosya hiyerarşisi ile tam olarak istediğinizi yapabilirsiniz. Repo-B bağımsız olacak ve Repo-A bilgisine sahip olmayacaktır. Repo-A kendi dosyalarındaki ve Repo-B dosyalarındaki tüm değişiklikleri takip edecektir.
Ancak bunu yapmanızı tavsiye etmem. Repo-B'de dosyaları her değiştirdiğinizde ve taahhüt ettiğinizde Repo-A'da işlem yapmanız gerekir. Repo-B'de dallanma Repo-A ile karışacak ve Repo-A'da dallanma riskli olacaktır (klasörleri kaldırmada sorun, vb.). Alt modüller kesinlikle gitmenin yoludur.
"Git-subrepo" kullanarak istediğinizi elde edebilirsiniz (bu REPO-A deposu yalnızca referans yerine REPO-B klasöründekiler dahil tüm dosyaları içerir):
https://github.com/ingydotnet/git-subrepo
Katkıda bulunanlarınızdan bazılarında subrepo komutu yüklü değilse yine de çalışır; klasör yapısının tamamını görecek, ancak alt reposlarda değişiklik yapamayacaklar.