2009-05-20 19 views
21

Mam 5-10 niezależnych projektów, które chcę umieścić pod kontrolą wersji przy użyciu Git. Jaki jest najlepszy sposób organizowania projektów/respositories:Jaki jest najlepszy sposób organizacji wielu projektów przy użyciu git

  • Użyj jednego repozytorium dla każdego projektu
  • użyć jednego repozytorium dla całej mojej pracy i używać podkatalogów dla każdego projektu
  • lub coś zupełnie innego

Co zadziałało najlepiej dla Ciebie i dlaczego?

Odpowiedz

11

Zdecydowanie użyłbym jednego repozytorium dla każdego projektu. W przeciwnym razie będziesz mieć wszelkiego rodzaju przesłuchy między projektami, nie wspominając już o tym, że podanie długich ścieżek przy użyciu wiersza poleceń jest bolesne. Git działa świetnie z jednym repozytorium na model projektu, nie widzę żadnego powodu, aby użyć czegoś innego; Nie sądzę, żebym kiedykolwiek zrozumiał, dlaczego SVN promuje takie działanie.

+0

Chciałem tylko dodać, że to samo dotyczy również SVN. Najlepiej, jeśli masz jedno repozytorium na projekt. – Petros

+0

Pamiętam, że czytałem wiele artykułów na temat konfiguracji serwera SVN, który wydawał się sugerować, że najlepiej jest użyć jednego repo. Może jednak czytałem złe źródła. –

6

Do uzupełnienia Marc's answer, przechodzenie z jednym centralnym repozytorium (ze wszystkimi projektami wewnątrz) nie zapobiega wielu repozytoriom, z których każdy ma własny projekt.

Posłuchajmy go z Linus himself:

Nie istnieją żadne realne problemy czy inaczej, a co ważniejsze, to nawet nie coś trzeba zdecydować na jeden dzień.

można łatwo zrobić to jedną lub drugą stronę i albo

  • przełącznik wokół ile potrzeba
  • lub nawet mix dwóch podejściach, gdzie ma to sens.

Na przykład, może to być całkiem sensowne mieć wspólną dystrybucję „punkty” używanie jednej wspólnej repozytorium, które zawiera wszystkie moduły jak odrębnych oddziałów w tym samym repozytorium.

Mimo że takie centralne repozytorium punktów dystrybucji jest skonfigurowane w ten sposób jako , indywidualni programiści mogą zadecydować, że są szczęśliwsi z osobnymi repozytoriami dla różnych modułów. Te dwa podejścia nie są wzajemnie niezgodne i można pobrać dane i wypchnąć je z powrotem między dwoma różnymi rodzajami repozytoriów.

3

Jeśli repozytorium jest uszkodzone. Wpływa na wszystkie zespoły projektowe. Takie ponowne uruchomienie dla każdego projektu jest dobrym pomysłem.

+2

W zasadzie to, co mówisz, to corret. Ale sprzeczne z duchem git jest posiadanie jednego dużego wspólnego repozytorium. Każdy programista powinien mieć własny obszar roboczy (na stacji roboczej) pod kontrolą git. W efekcie masz nadmiarowość i możesz przywrócić "centralne" repozytorium z jednej lub więcej kopii dewelopera. – CyberFonic

Powiązane problemy