Github-Verknüpfung mit anderen Repos

76

Ich habe ein Projekt, das auf zwei Repos in Github angewiesen ist, um zu funktionieren. Wie verlinke ich diese beiden Repos, wenn ich mein Projekt bei github einreiche? Sollte ich die Dateien in meinem eigenen Repo duplizieren oder bei einer bestimmten Revision mit dem anderen Repo verknüpfen, da ich nicht möchte, dass es aktualisiert wird und Inkompatibilität verursacht. Ich habe bereits mein Github-Repo erstellt. Was soll ich tun?

user391986
quelle

Antworten:

60

Sie können Git-Submodule verwenden, um mit anderen Projekten zu "verknüpfen". Siehe hier - http://help.github.com/submodules/

Manojlds
quelle
3
Was ist, wenn mein Projekt nichts zu tun hat, um zum ursprünglichen Repo beizutragen, von dem ich abhängig bin? Zum Beispiel verwende ich einen XML-Parser für mein Skript, aber es ist nichts zu tun, um zu diesem Projekt beizutragen. Sollte ich trotzdem Submodule verwenden?
user391986
@ user391986 Ja, es geht nicht nur darum, einen Beitrag zum anderen Projekt zu leisten.
Manojlds
Letzte Frage: Wenn Sie Dateien in diesem Submodul aktualisieren, wenn Sie Änderungen vornehmen, wird mein oder das verknüpfte Repo aktualisiert?
user391986
@ user391986 - Sie sagten, Sie tragen nicht dazu bei. Wenn Sie drücken, wird das verknüpfte Repo aktualisiert (versucht).
Manojlds
16

Mit GitHub können Sie auch auf ein anderes Repository in einem Kommentar zu GitHub oder in einem Commit verweisen. Zum Beispiel:

We should probably handle this with github/enterprise#59

Dadurch wird dem Problem ein Update github/enterprise#59mit einem Link zu Ihrem Kommentar / Commit hinzugefügt .

Repositoryübergreifende Problemreferenzen

Geben Sie hier die Bildbeschreibung ein

Sicher, bei GitHub dreht sich alles um Social Coding, aber Sie können auch soziale Repositories haben. Sie können auf Probleme zwischen Repositorys verweisen, indem Sie die Nummer des Benutzers / Repositorys in einem Problem angeben. Sobald wir so etwas sehen - sagen wir Github / Enterprise Nr. 59 - werden wir sicherstellen, dass das Problem Nr. 59 im Enterprise Repository von Github aktualisiert wird und Sie wissen, woher es stammt. Dies ist ein Teil von GitHub Flavored Markdown , der auch einige eigene Tricks hat.

Lesen Sie mehr: https://github.com/blog/967-github-secrets

Wex
quelle
15

Es gibt eine Alternative zu Submodulen, die ich als praktischer empfunden habe : Teilbaum .

Nach diesem Link sind die Vorteile:

  • Die Verwaltung eines einfachen Workflows ist einfach.
  • Ältere Versionen von Git werden unterstützt (noch vor Version 1.5.2).
  • Der Code des Unterprojekts ist direkt verfügbar, nachdem der Klon des Superprojekts abgeschlossen ist.
  • Für den Teilbaum müssen Benutzer Ihres Repositorys nichts Neues lernen. Sie können die Tatsache ignorieren, dass Sie den Teilbaum zum Verwalten von Abhängigkeiten verwenden.
  • Teilbaum fügt keine neuen Metadatendateien wie Submodule doe (dh .gitmodule) hinzu.
  • Der Inhalt des Moduls kann geändert werden, ohne dass an anderer Stelle eine separate Repository-Kopie der Abhängigkeit vorhanden ist.
gabra
quelle