2016-04-12 53 views
1

Bir repo'm var, apiProject olarak adlandıralım. Şirket B adında bir şube de dahil olmak üzere bir grup dal (master, geliştirme, özellik dalları, vb.) Vardır.Git erişiminin en iyi yolu Git

ŞirketB şubesini, birlikte çalıştığım bir şirketle (BCorp olarak adlandırmak) paylaşmak istiyorum, ancak kodun geri kalanını özel tutmak istiyorum. Ayrıca, güncellemeleri bir araya getirerek şirketi desteklemeye devam edebilmek isterim. Desteklemek istediğim için BCorp'u companyB kodunun sıkıştırılmış bir klasörüne göndermek istemiyorum. Bunu yapmak için Git'i kullanmanın iyi bir yolu var mı?

Repo'yu apiProjectFork içine çatarak, ardından BCP ile paylaşmadan önce özel şubeleri apiProjectFork'tan silebileceğimi düşünüyordum. Daha sonra apiProject üzerinde geliştirmeye devam edebilirdim ve yine de apiProjectFork'u güncellemek için Git'i kullanabilirdim. Işe yarar mı? Çok fazla çatalla çalışmadım, bu yüzden bu kullanım için uygun olup olmadığından emin değilim.

+0

Sanırım deponuzun çıplak bir klonunu yapmalı, tüm dalları silmelisiniz ama bir tane, uzaktaki kaynağı yalnızca o şubeyi getirecek ve bu depoyu yayınlayacak şekilde yapılandırmalısınız. O zaman sadece periyodik 'git getirme 'yapın. Belki de otomatik olarak yapmak için ana depoda bir kanca kullanabilirsiniz. – rodrigo

cevap

0

Gezinme seviyesinde, belki de git seviyesinde dalları gizlemek mümkün değildir. belki gitlab bazı özellik içeriyor, github korumalı içerir dalları (itmek korumak): olması gerektiği anlamına gelir "Özel kodun geri kalanı tutmak" Eğer https://github.com/blog/2137-protected-branches-improvements

olarak bildiğim kadarıyla, bitbucket bu

0

için hiçbir çözümleri vardır

  1. gizli git repo tutmak ve onların sunucuya daldan değişiklikleri itmek: git push companyB_git companyB iki seçeneğiniz vardır onların adanmış daldan sadece değişiklikleri almaz. Böylece, sadece bu şubeden değişiklikler alacaklar. Ancak bu durumda, bir gün uygunsuz bir şeyi itme şansınız var, ör. Özel şubeleri CompanyB'nin şubesine birleştirdiğinizde, tüm özel şubenin tüm geçmişini açıklarsınız.
  2. CompanyB için tamamen ayrılmış bir depo düzenleyin ve periyodik olarak uygun değişiklikleri dışa aktarın. Esasen, git arşivi, daha fazla veya daha az eşdeğeri. Böylece, daha iyi güvenlik ve kontrol ancak daha az kolaylık elde edersiniz.
0

Yardımlarınız için teşekkür ederim, ancak zaman aşımı bitti ve sürüm denetimi olmayan bir kod paketi göndermek zorunda kaldım. Gelecekte bu çözümlerden birini uygulayacağımı umuyorum ve eğer yaparsam bu soruyu uygun şekilde güncelleyeceğim.