web-dev-qa-db-de.com

Kann ich Repositorys in Ordnern auf Github anordnen?

Ich bin neu bei git und was ich jetzt mache, ist, alle meine letzten Projekte als Repositories auf github hochzuladen. Es gibt viele verschiedene Projekte wie Webdesign, WordPress-Themen und verschiedene Arten von Anwendungen. Und einige davon gehören auch zu größeren Projekten, weil sie einige Dinge als eine andere Anwendung testen wollten.

Das Problem ist, dass ich jetzt eine verwirrende Anzahl von Repositories online habe. Wie kann ich verwandte Github-Repositories in einer Ordnerstruktur gruppieren? Gibt es eine Funktion, die die Möglichkeit bietet, Repositories auf Github zu ordnen und zu strukturieren oder sogar zu kennzeichnen?

101
danijar

Auf GitHub können Sie Ihre Repos nicht nach "Ordner" gruppieren, es sei denn, Sie erstellen -izations .
Siehe SublimeText zum Beispiel als Gruppe aller Repos von sublimeText-Paketen.

Dies unterstützt jedoch keine verschachtelte Ordnerorganisation. Im Moment (Juni 2017) unterstützt dies nur eine verschachtelte Team Organisationsstruktur .

Update Februar 2019: Sie haben jetzt das Konzept von project:
Siehe " Benutzer eigene Projekte - Ihr persönlicher Arbeitsbereich "

Sie können auch bis zu 5 Repositorys mit Ihrer Projekttafel verknüpfen. Durch das Verknüpfen von Repositorys wird der Umfang der Suche auf diese verknüpften Repositorys beschränkt, sodass Sie alle neuen Probleme, die Sie noch nicht in die Projekttafel aufgenommen haben, schnell eingrenzen können

 https://i0.wp.com/user-images.githubusercontent.com/3477155/52346373-734e2580-29ed-11e9-82ad-9e5f1ab8aa99.gif?resize=1024%2C512&ssl=1

GitHub unterstützt jetzt auch Tags (in Form von topics ).


Ursprüngliche Antworten 2012:

Eine andere Lösung besteht darin, Repositorys zu definieren, die auf andere Repos verweisen, die als submodules deklariert sind.

Auf diese Weise werden beim Klonen eines der Repos (das auf andere Repos verweist) "Eltern-Repos" genannt, diese in einem eigenen Verzeichnis geklont, wobei pro Submodule ein Unterverzeichnis vorhanden ist.

Es ist auf Ihrem GitHub-Konto selbst nicht sichtbar (da es immer noch eine große Liste von Repos enthält, die bei den übergeordneten Repos noch größer ist), aber durch das Klonen eines übergeordneten Repos erhalten Sie alle zugehörigen Submodule zurück.


Die Ausgabe 302 erwähnte in den Kommentaren von AnneTheAgile 2014 bezieht sich jetzt nur (Nov. 2018) tbnorth/github_repo_tags

Das kleine Python-Programm in diesem Repository verwendet die GitHub-API, um eine Liste Ihrer Repos zu erhalten. und fügen Sie ihren Namen, die Beschreibung und die URL zu einem neuen Repo hinzu, standardmäßig mit dem Namen repo_tags. Anfänglich wird jedes "Problem" nicht klassifiziert, aber Sie können es nach Belieben mit einem normalen Problem-Tagging kennzeichnen.

Beim erneuten Ausführen erstellt repo_tags.py nur Probleme für Repos. das war noch nicht von einem Problem abgedeckt.

42
VonC

Ich benutze Organizations , um Repos zu arrangieren. Dies ermöglicht eine saubere Abgrenzung und klare Organisation, die bei Bedarf zur Weitergabe bereit ist. Zum Beispiel:

Meine Organisationen

  • Jmr-iOS (iOS-Repos) 
  • Jmr-Work (Arbeitsprogramme)
  • Benutzerkonto (Pers Repos)

Alle Repos der Organisation sind öffentlich, sofern Sie nicht Upgrade auf ein Entwicklerkonto ($ 7/Monat) setzen.

5
J-Dizzle

Dies ist nicht so sehr eine Antwort als ein Heads-Up.

Ein neuer Nebeneffekt der Strukturierung von Organisationen, die Organisationen nutzen, ist aufgedeckt worden durch die Ankündigung von kostenlosen privaten Repos für Benutzer: https://blog.github.com/2019-01-07-new-year-new-github/

Private Repos der Organisation sind immer noch nicht kostenlos. Die Verwendung von Organisationen zur Trennung von Repos führt dazu, dass Ihre Organisation keine kostenlosen privaten Repos verwenden kann, wenn Sie dies benötigen.

1

Sie können Ordner simulieren, indem Sie durch Kommas getrennte Tags am Ende Ihrer Repobeschreibung anhängen. Sie können dann nach Repos nach diesen Tags suchen, da der GitHub-Filter "Repository suchen ..." in der Repobeschreibung aussieht! Ein Beispiel:

MyRepo: Macht cooles Zeug (Computer-Vision, Maschinelles Lernen, Python)

Wenn Sie dies nicht manuell tun möchten, können Sie automatisieren. Ich habe zum Beispiel ein GitHub-Repo-Organisationstool erstellt, das genau dies mit Angular, Octokit und Dragula macht. Wenn Sie interessiert sind, sehen Sie es hier an: https://github.com/Peter554/github-repo-tagger/ . Es ermöglicht Ihnen das Erstellen und Verwalten von Tags, und Sie können auch eine "Tag-Cloud" in Ihrer Bio-Datenbank erstellen, um die Suche zu erleichtern.

 github-repo-tagger

1
Peter554

Für den Anfang können Sie Repos jetzt in GitHub in Form von Themen markieren. Yay!

Aber ich glaube nicht, dass es das größere Problem löst. Dafür habe ich ein oberstes Ordnersystem ausprobiert (wobei jedes Projekt ein Ordner in einem Repo ist). Ich habe auch eine Zweigstelle pro Projektsystem ausprobiert (wobei sich jedes Projekt in einer neuen Zweigstelle befindet). Mit dem letzten können Sie jedes Projekt auch einzeln ziehen und schieben! Aber keiner ist ideal.

Sie können auch andere Versionskontrollsysteme wie Subversion und Mercurial betrachten. Mercurial kann bei Bedarf auch auf Bitbucket gehostet werden, und Facebook prüft sogar die Unterstützung für " Multi-Projekt-Repositorys ".

Ich persönlich mag das System von https://hg.openjdk.Java.net/ (oder http://hg.netbeans.org/ ), wo Sie einen Ordner einrichten und sich jedes Projekt befindet an Endpunkten gehostet. Dies erreichen Sie am besten, indem Sie eine Website (die Sie in GitHub verwenden können) mit Ihrer Projektstruktur erstellen (wie https://mvnrepository.com/ oder https://www.npmjs.com/. ).

0
gagarwa