2016-04-12 7 views
1

Ich habe ein Repo, können wir es apiProject nennen. Es hat eine Reihe von Zweigen (Master, Entwicklung, Feature-Zweige, etc.), einschließlich einer Filiale namens companyB.Der beste Weg, Zweig Zugriff in Git zu steuern

Ich möchte die Firma B Zweig mit einer Firma teilen (nennen Sie es BCorp), mit der ich zusammenarbeite, aber ich möchte den Rest des Codes privat halten. Ich würde auch gern in der Lage sein, Firma B weiter zu unterstützen, indem ich Updates darin zusammenführe. Weil ich es unterstützen möchte, möchte ich BCorp nicht nur einen gezippten Ordner des companyB-Codes senden. Gibt es eine gute Möglichkeit, Git zu benutzen?

Ich dachte, ich könnte den Repo in apiProjectFork, und löschen Sie dann die privaten Zweige von apiProjectFork vor dem Teilen mit BCorp. Dann könnte ich mit der Entwicklung von apiProject fortfahren, und ich wäre immer noch in der Lage, Git zu verwenden, um apiProjectFork zu aktualisieren. Funktioniert das? Ich habe nicht viel mit Gabeln gearbeitet, also bin ich mir nicht sicher, ob sie für diesen Anwendungsfall geeignet sind.

+0

Ich denke, Sie sollten einen leeren Klon Ihres Repository tun, löschen Sie alle Zweige außer einem, konfigurieren Sie den Remote-Ursprung, um nur diesen Zweig zu holen und dieses Repository zu veröffentlichen. Dann mache einfach eine periodische "git fetch". Vielleicht verwenden Sie sogar einen Haken im Master-Repository, um dies automatisch zu tun. – rodrigo

Antwort

0

Wenn „halten den Rest des Codes privat“ bedeutet, dass sie sollten erhält nur Änderungen von ihrem engagierten Zweig haben Sie zwei Möglichkeiten:

  1. halten Sie Ihre git Repo private und drücken Sie die Änderungen aus der Branche zu ihrem Server: git push companyB_git companyB. Daher werden sie nur Änderungen von diesem Zweig erhalten. Aber in diesem Fall besteht die Möglichkeit, dass Sie eines Tages etwas Unpassendes drücken, z. Wenn Sie private Zweigstellen in die Zweigstelle von CompanyB zusammenführen, geben Sie den vollständigen Verlauf der gesamten Zweigstelle usw. an.
  2. Organisieren Sie ein vollständig getrenntes Repository für CompanyB, und exportieren Sie entsprechende Änderungen in regelmäßigen Abständen. Im Wesentlichen ist es ein Äquivalent von Git-Archiv, mehr oder weniger. So erhalten Sie bessere Sicherheit und Kontrolle, aber weniger Komfort.
0

Vielen Dank für Ihre Hilfe, aber ich endete am Ende der Zeit und musste ein Code-Paket ohne Versionskontrolle senden. Ich hoffe, dass ich in Zukunft eine dieser Lösungen implementieren werde, und wenn ich das tue, werde ich diese Frage entsprechend aktualisieren.

Verwandte Themen