Jestem nowy w git i teraz robię wrzucenie wszystkich moich ostatnich projektów jako repozytoriów do github. Istnieje wiele różnych projektów, takich jak projektowanie stron internetowych, motywy WordPress i różne typy aplikacji. Niektóre z nich należą również do większych projektów, ponieważ dotyczyły testowania niektórych rzeczy jako innej aplikacji.
Problem polega na tym, że mam teraz zagmatwaną liczbę repozytoriów online. Jak mogę pogrupować powiązane repozytoria github w strukturę folderów? Czy istnieje funkcja zapewniająca możliwość porządkowania i strukturyzowania, a nawet tagowania repozytoriów na githubie?
git
github
repository
danijar
źródło
źródło
Odpowiedzi:
W samym GitHubie nie możesz grupować repozytoriów według „folderów”, chyba że utworzysz organizacje .
Zobacz na przykład SublimeText jako grupę wszystkich repozytoriów pakietów sublimeText.
Ale to nie będzie obsługiwać zagnieżdżonej organizacji folderów. Na razie (czerwiec 2017 r.) Obsługuje tylko zagnieżdżoną strukturę organizacji zespołu .
Aktualizacja z lutego 2019 r .: masz teraz koncepcję projektu :
zobacz „ Projekty należące do użytkowników - Twój osobisty obszar roboczy ”
GitHub obsługuje teraz również tagi (w formie tematów ).
Oryginalne odpowiedzi 2012:
Innym rozwiązaniem jest zdefiniowanie repozytoriów, które odwołują się do innych repozytoriów, zadeklarowanych jako moduły podrzędne .
W ten sposób, gdy klonujesz jedno z repozytoriów (które odwołuje się do innych repozytoriów), zwane „repozytoriami nadrzędnymi”, zostaną one sklonowane we własnym katalogu, z podkatalogiem dla każdego modułu podrzędnego.
Nie będzie to widoczne wizualnie na Twoim koncie GitHub (ponieważ nadal będzie zawierało dużą listę repozytoriów, nawet większą w przypadku repozytoriów nadrzędnych), ale klonując jedno repozytorium nadrzędne, odzyskasz wszystkie powiązane z nim moduły podrzędne.
W kwestii 302 wspomniano w komentarzach przez AnneTheAgile w 2014 referencji właśnie (listopad 2018)
tbnorth/github_repo_tags
źródło
Korzystam z organizacji do organizowania repozytoriów. Pozwala to na wyraźne wytyczenie i przejrzystą organizację, gotową do udostępnienia w razie potrzeby. Na przykład:
Moje organizacje
Wszystkie repozytoria organizacji są jednak publiczne, chyba że dokonasz aktualizacji do konta Enterprise Cloud (25 USD miesięcznie)
źródło
To nie jest odpowiedź, a raczej ostrzeżenie.
Niedawny efekt uboczny strukturyzacji z wykorzystaniem organizacji wyszedł na jaw w związku z następującym ogłoszeniem bezpłatnych prywatnych repozytoriów dla użytkowników: https://blog.github.com/2019-01-07-new-year-new-github/
Prywatne repozytoria organizacji nadal nie są bezpłatne. Dlatego używanie organizacji do oddzielnych repozytoriów spowoduje, że Twoja organizacja nie będzie w stanie korzystać z bezpłatnych prywatnych repozytoriów, jeśli jest to coś, czego potrzebujesz.
źródło
Na początek możesz teraz tagować repozytoria w GitHub w formie tematów. Yay!
Ale nie sądzę, żeby to rozwiązało większy problem. W tym celu wypróbowałem system folderów najwyższego poziomu (gdzie każdy projekt jest folderem w jednym repozytorium). Wypróbowałem również jedną gałąź na system projektu (gdzie każdy projekt znajduje się w nowej gałęzi). Ten ostatni pozwala również na osobne wyciąganie i popychanie każdego projektu! Ale to nie jest idealne.
Możesz również przyjrzeć się innym systemom kontroli wersji, takim jak subversion i mercurial . Jeśli potrzebujesz, Mercurial może być również hostowany na Bitbucket , a Facebook szuka nawet wsparcia dla „ repozytoriów wielu projektów ”.
Osobiście podoba mi się system https://hg.openjdk.java.net/ (lub http://hg.netbeans.org/ ), w którym masz konfigurację folderów, a każdy projekt jest hostowany na punktach końcowych. Najlepszym sposobem na osiągnięcie tego jest stworzenie strony internetowej (co można zrobić w GitHub) ze strukturą projektu (np. Https://mvnrepository.com/ lub https://www.npmjs.com/ ).
źródło
Jednym z możliwych sposobów symulacji folderów jest dołączanie tagów oddzielonych przecinkami na końcu opisu repozytorium. Następnie możesz wyszukiwać repozytoria według tych tagów, ponieważ filtr GitHub „Znajdź repozytorium ...” znajduje się w opisie repozytorium! Przykład:
źródło