Was ist der Unterschied zwischen GitHub und Gist?

575

Was ist der Zweck von gist und wie unterscheidet es sich von der regulären Freigabe / Pflege von Code mit GitHub?

NSExplorer
quelle
20
Gist ist eine einfache Möglichkeit, Schnipsel und Pasten mit anderen zu teilen.
Felix Kling
154
Wie ist es offtopic? Ich betrachte sowohl Gist- als auch Github- Softwaretools, die üblicherweise von Programmierern verwendet werden . Diese Frage passt perfekt dazu.
Golem
50
Ich habe dafür gestimmt, diese Frage erneut zu öffnen, da sie nützlich ist und sich auf Softwaretools bezieht, die üblicherweise von Programmierern verwendet werden. Die Seite " Über Gists " auf Github enthält einige nützliche Informationen, beantwortet jedoch nicht die Frage nach den wichtigsten Unterschieden und unter welchen Umständen ein Benutzer einen anderen vorziehen könnte. Ich persönlich würde gerne detailliertere Antworten auf diese Frage sehen.
Simon East
6
Ein wichtiger Unterschied, den ich nirgends erwähne, ist, dass Gist die Unterstützung für Verzeichnisse eingestellt hat. Ich habe es erst bemerkt, als ich auf dieses Problem gestoßen bin
Robotic-Brain
1
Wie werden Versionen eines Kerns erstellt? Automatisch jedes Mal, wenn ein Zeichen eingegeben wird, oder gibt es einen Festschreibungsmechanismus? Es tut mir leid, mit diesem Thread fortzufahren, aber dies ist ein bequemer Ort!
Seinecle

Antworten:

349

GitHub ist die gesamte Seite. Gists sind ein besonderer Service, der auf dieser Site angeboten wird, nämlich Code-Snippets, die Pastebin ähneln. Alles wird jedoch von der Git-Revisionskontrolle gesteuert, sodass die Gists auch einen vollständigen Revisionsverlauf haben.

Kerrek SB
quelle
191
Was ist der Unterschied zwischen einem Gist und einem Repository? Was sind die Vor- und Nachteile von jedem? (Ich glaube, das war es, was das OP fragen wollte)
chharvey
59
@ TestSubject528491: Ein Repository ist für vom Benutzer erstellte Dateien. Ein Kern ist für einen Teil des Codes (normalerweise nicht mit einem anderen Code verbunden), wie zum Beispiel zum Diskutieren oder Geben von Beispielen.
Kerrek SB
19
@ TestSubject528491 Wie Kerrek sagt, sind Gists im Wesentlichen Githubs-Äquivalente von Pastebin.
Phill Healey
45
@ Pacerier: Natürlich könntest du. Aber dann müssen Sie die Dateien selbst verwalten, das Repository klonen, Commits pushen und so weiter. Mit Gists können Sie den Text direkt im Browser bearbeiten und es müssen keine Dateien verwaltet werden. Wie gesagt, derselbe zugrunde liegende Versionskontrollmechanismus, der jedoch unterschiedliche Anforderungen erfüllt.
Kerrek SB
19
@SimonEast Die Hauptunterschiede zwischen Github und Gists bestehen in der Anzahl der Funktionen und der Benutzeroberfläche: Eine wurde mit einer Vielzahl von Funktionen und Flexibilität entwickelt, die sowohl für kleine als auch für sehr große Projekte geeignet ist, während Gists dies sind nur gut geeignet für sehr kleine projekte. Zum Beispiel unterstützen Gists Multi-Dateien, aber die Benutzeroberfläche ist sehr einfach und ihre Funktionen sind eingeschränkt, sodass sie nicht einmal über einen Dateibrowser verfügen, noch Probleme, Pull-Anfragen oder ein Wiki. Wenn Sie das nicht brauchen, sind die Kernpunkte sehr nett und diskreter. Wie die Kommentare anstelle von Antworten in SO.
JoseLuís
136

Meine persönliche Sicht auf Gist und GitHub:

Gist: Gist ist eine einfache Möglichkeit, Codefragmente und Pasten mit anderen zu teilen. Es wird verwendet, wenn Sie ein Beispiel für einen Code oder eine Technik mit Ihren Mitarbeitern oder Freunden teilen müssen.

Und

GitHub GitHub hingegen bietet eine Plattform, um ein gesamtes Projekt als Repo für ein Team (privates Repo) oder für die ganze Welt (öffentliches Repo) freizugeben.

Beide protokollieren Versionsdetails.

Jayavignesh Vicky
quelle
1
Können Sie ein Beispiel im Detail geben
Chetan
6
@Chetan Beispiel eines Kerns (beachten Sie, dass es sich nur um eine einzelne Datei handelt, die keine unterstützenden Dateien benötigt, niemand jemals Tickets erstellen wird usw. (abgesehen davon, dass die Konfiguration wahrscheinlich alt ist, verwenden Sie sie also nicht) ). Beispiel für ein Projekt ist es ziemlich klein, aber jemand könnte ein Ticket mit Vorschlägen und leicht zu merkender Adresse gegen die URL des
Kerns
45

Die Hauptunterschiede zwischen Github und Gists bestehen in der Anzahl der Funktionen und der Benutzeroberfläche:

Eines wurde mit einer Vielzahl von Funktionen und Flexibilität entwickelt, was sowohl für kleine als auch für sehr große Projekte gut geeignet ist, während das Wesentliche nur für sehr kleine Projekte gut geeignet ist.

Zum Beispiel unterstützen Gists Multi-Dateien, aber die Benutzeroberfläche ist sehr einfach und ihre Funktionen sind eingeschränkt, sodass sie nicht einmal über einen Dateibrowser verfügen, noch Probleme, Pull-Anfragen oder ein Wiki. Wenn Sie das nicht brauchen, sind die Kernpunkte sehr nett und diskreter. Wie die Kommentare anstelle von Antworten in SO.

Hinweis: Vielen Dank an @Qwerty für den Vorschlag, meinen Kommentar zu einer echten Antwort zu machen.

joseLuís
quelle
4
Auch "Gists sind für Dateien, Repositories sind für Verzeichnisse", twitter.com/pavelrepin/status/297473901884223488
Qwerty
5
Meiner Meinung nach ist dies die einzige wirkliche Antwort auf die bisherige Frage. Jede andere Antwort wiederholt nur den Zweck der Websites, ohne zu erklären, welche Funktionen und Unterschiede diesen Zweck ermöglichen. Es ist wie zu sagen "Dieses Auto soll zum Strand fahren, aber dieses Auto soll zur Arbeit fahren", ohne zu erwähnen, dass das Strandauto ein Cabrio ist.
DavidS
20

Mein persönliches Verständnis oder meine persönliche Verwendung von Gist und Github ist:

  • Github

Eine große Projektarbeit. Wenn Sie eine Website erstellen, eine mobile oder Webanwendung entwickeln oder Ihre Aufgabe mit Ihren Teamkollegen erledigen möchten, verwenden Sie natürlich Github.

  • Kern

eher wie ein Memo. Sie können beispielsweise die Implementierung eines kleinen Features schreiben und in Ihrem Blog veröffentlichen oder Ihre Meinung zum Projekt aufschreiben und mit Ihren Teamkollegen teilen. Genau wie in den obigen Antworten wird Gist eher für Code-Snippet-Dinge verwendet. Wenn Sie also an einem Projekt arbeiten, verwenden Sie normalerweise Github.

J. DoG
quelle
3
Die "Memo" -Analogie hat dies für mich geklärt - ansonsten müsste ich fragen "Was ist ein Pastebin?"
YCode
18

Sie können auf Gist zugreifen, indem Sie die folgende URL besuchen : gist.github.com . Alternativ können Sie von Ihrem Github-Konto aus (nach dem Anmelden) darauf zugreifen, wie in der folgenden Abbildung dargestellt:

So greifen Sie über die Github-Konsole auf das Wesentliche zu

 

Github: Ein Hosting-Service, der ein webbasiertes Git-Repository enthält. Es enthält die gesamte Funktionalität von Git mit zusätzlichen Funktionen.

 

Gist: Ist eine zusätzliche Funktion, die zu github hinzugefügt wurde, um das Teilen von Codefragmenten, Notizen, Aufgabenlisten und mehr zu ermöglichen. Sie können Ihre Gists als geheim oder öffentlich speichern. Geheime Gists sind vor Suchmaschinen verborgen, aber für jeden sichtbar, mit dem Sie die URL teilen.

Zum Beispiel. Wenn Sie eine private To-Do-Liste schreiben möchten. Sie können eine mit Github Markdown wie folgt schreiben:

Wie schreibe ich eine private Aufgabenliste?

NB: Es ist wichtig, das oben gezeigte Leerzeichen zwischen dem Bindestrich und den Klammern beizubehalten. Es ist auch wichtig, dass Sie die Datei mit der Erweiterung .md speichern, da der Markdown ordnungsgemäß formatiert werden soll. Denken Sie daran, diesen Kern als geheim zu speichern, wenn Sie nicht möchten, dass andere ihn sehen.

 

Das Endergebnis sieht wie im Bild unten aus. Die Kontrollkästchen können angeklickt werden, da wir diese Liste mit der Erweiterung .md gespeichert haben

Wie die Aufgabenliste aussieht, wenn Sie sie richtig formatiert haben

JSON C11
quelle
4
"Denken Sie daran, diesen Kern als geheim zu speichern, wenn Sie nicht möchten, dass andere ihn sehen." Seien Sie vorsichtig - Andere Personen können Ihren geheimen Kern sehen, wenn sie zufällig seine URL haben. Siehe help.github.com/articles/about-gists/#secret-gists
Gan
Wie beantwortet dies den Unterschied zwischen Gists und Github? (oder Github Repos - die Frage, die OP wahrscheinlich wirklich stellen wollte) Dies spricht die ursprüngliche Frage überhaupt nicht an
JoelAZ
Es funktioniert jetzt sogar mit "gist.new"
Abhik Banerjee
3

„Gists sind eigentlich Git-Repositories, was bedeutet, dass Sie jeden Gist teilen oder klonen können, auch wenn Sie nicht der ursprüngliche Autor sind. Sie können auch den vollständigen Commit-Verlauf eines Kerns anzeigen, einschließlich der Unterschiede. “

Lesen Sie die offizielle Github-Dokumentation

Der Hauptunterschied besteht also darin, dass es sich um einzelne Dateien handelt.

Oh, und: Gists können "geheim" sein (wie in: Private URL), auch ohne ein zahlender Github-Kunde zu sein, wenn ich das richtig verstehe ...

Frank Nocke
quelle
4
Gists können jedoch mehrere Dateien haben
Antont
Cool, wusste das nicht !
Frank Nocke
wow, damit ich meinen Kern klonen kann, zB git clone https://gist.github.com/jxramos/b227766a5f593b1154449217a656158dder ein Verzeichnis auf meinem Dateisystem mit dem Namen erstellt b227766a5f593b1154449217a656158dund semantic_notes.mdin diesem Fall eine einzelne Datei enthält . Ich werde experimentieren, wie ein Repo. Gut zu wissen. Auf diese Weise müssen auch Kommentare zu den wichtigsten Überarbeitungen hinzugefügt werden. Ich habe noch nie gesehen, wie das im UI-Editor geht.
Jxramos
3

GitHub Gists

Wesentlich sein oder nicht. Das ist die 64-Dollar-Frage ...

GitHub Gists sind Single ( or, multiple ) Simple Markdown Filesmit Repo-ähnlichen Qualitäten , die gegabelt werden können oder geklont (wenn öffentlich).

Ansonsten nicht wenn privat.

Ein bisschen wie ein ausgefallener Notizblock, der geteilt werden kann.

Ähnlich wie bei diesem Kommentar-Notizblock, auf dem ich gerade tippe, aber etwas ausgefeilter.

Während ein Beamten , ist voll GitHub Repo ein Blas- Repository des Quellcodes src, Belege (Abschlags oder HTML oder beides) docsoder root, Bilder png, ico, svgund eine config.sysDatei für die Ausführung von Yaml Variablen auf einem Jekyll - Server gehostet.

Unterstützt eine einfache Gist-Datei die Yaml-Front?

Ich denke nicht.

Aus der offiziellen GitHub Gist Dokumentation ...

Der Haupteditor wird von CodeMirror unterstützt .

Sie können jedoch eine öffentliche Liste kopieren (oder eine private Liste, wenn der Eigentümer Ihnen über einen Link zur privaten Liste Zugriff gewährt hat) ...

Anschließend können Sie diesen öffentlichen Gist page.mdmithilfe von Visual Studio Code wie folgt in ein "offizielles" Repo einbetten :

"Sie können einen Kern in jedes Textfeld einbetten, das Javascript unterstützt, z. B. einen Blog-Beitrag."

"Um den embedCode zu erhalten, klicken Sie auf das Symbol in der Zwischenablage neben der Embed URLSchaltfläche eines Kerns."

Das ist eine coole Funktion.

Bringt mich dazu, die Kernpunkte anderer Leute oder OPG zu suchen (zu entdecken) und ihre "öffentliche" Arbeit in meine ausgewachsenen Arbeitsrepos einzubeziehen.

"Sie können die ÖFFENTLICHEN Gists entdecken, die andere erstellt haben, indem Sie auf die Gist-Homepage gehen und auf den Link klicken ...

All Gists {: title = 'Klicken Sie hier, um die Erkennungsfunktion bei GitHub Gists zu überprüfen'} {: target = '_ blank'}. "

Einschränkung . Keine Unterstützung für Liquid-Tags bei GitHub Gist.

Ich nehme an, wenn ich etwas Nützliches finde, kann ich jederzeit einen Ping-Back durchführen oder diese Quelle zitieren, wenn ich die Arbeit in meinen vollständigen Arbeitsrepos verwende.

Wo wird die implizite Lizenz für alle von ihren Autoren veröffentlichten Inhalte veröffentlicht?

Robert

PS Das ist ein guter Kommentar. Ich denke, ich werde daraus ein gistmachen und es bei GitHub Gists öffentlich durchsuchbar machen.

Hinweis . Wenn Sie das <script></script>HTML-Tag in den Hauptteil einer Markdown-Datei (.md) einbetten, erhalten Sie möglicherweise die Warnung "MD033" von Ihrem Linter .

Dies sollte sich jedoch nicht auf das Rendern der aus dem scriptTag aufgerufenen Daten (src) auswirken .

Fügen Sie scriptdem Markdownlint-Konfigurationsobjekt in der User SettingsJson-Datei wie folgt einen Eintrag hinzu, um das Standardwarnflag so zu ändern, dass es den aufgerufenen Inhalt eines Tags in Visual Studio Code berücksichtigt:

// Begin Markdownlint Configuration Object
"markdownlint.config": {
  "MD013": false,
  "MD033": {"allowed_elements": ["script"]}
}// End Markdownlint Configuration Object

Hinweis . Lösung abgeleitet von GitHub Commit von David Anson

Robert Weber
quelle
Nehmen Sie sich einen Moment Zeit, um die Bearbeitungshilfe in der Hilfe zu lesen . Die Formatierung beim Stapelüberlauf unterscheidet sich von anderen Websites.
Isiah Meadows
Mit GitHub Gist können Sie außerdem viel mehr als nur Code veröffentlichen. Hier ist ein konkretes Beispiel dafür , und ja, ich habe Git tatsächlich damit verwendet. (Sie können sie tatsächlich als vollständige Repos von einem Git-Client behandeln, einschließlich zusätzlicher Zweige. Sie verfügen nur nicht über das gesamte Issue-Management, Webschnittstellen für grundlegende Git-Inhalte und andere Besonderheiten, die mit einem ordnungsgemäßen GH verbunden sind Repo.)
Isiah Meadows
2

GISTS The Gist ist ein hervorragender Service von GitHub. Mit diesem Service können Sie Ihre Arbeit öffentlich oder privat teilen. Sie können eine einzelne Datei, Artikel, vollständige Anwendungen oder Quellcode usw. freigeben.

Der GitHub ist viel mehr als nur Gists. Es bietet immense Services, um ein Projekt zusammenzufassen oder digitale Ressourcen an einem zentralen Ort namens Repository zu programmieren und unter den Stakeholdern zu teilen. Das GitHub-Repository speichert oder verwaltet die Mehrfachversion der Dateien oder den Änderungsverlauf, und Sie können eine bestimmte Version einer Datei abrufen, wenn Sie möchten. Während Gist jeden Beitrag als neues Repository erstellt und den Verlauf der Datei beibehält.

Sunil Vishnu Raskar
quelle