Qual è la differenza tra GitHub e gist?


576

Qual è lo scopo di gist e in cosa differisce dalla normale condivisione / manutenzione del codice usando GitHub?


20
Gist è un modo semplice per condividere frammenti e paste con gli altri.
Felix Kling,

154
Come è offtopic? Considero sia gli strumenti software gist che github comunemente usati dai programmatori . Questa domanda si adatta perfettamente.
Golem,

50
Ho votato per riaprire questa domanda in quanto è utile e si riferisce a strumenti software comunemente utilizzati dai programmatori. La pagina " Informazioni su Gists " su Github contiene alcune informazioni utili, ma non risponde alla domanda sulle differenze chiave e in quali circostanze un utente potrebbe preferire l'uno all'altro. Personalmente vorrei vedere risposte più dettagliate a questa domanda.
Simon East,

6
Una differenza importante che non vedo menzionata da nessuna parte è che Gist ha abbandonato il supporto per le directory. L'ho notato solo quando ho riscontrato questo problema: stackoverflow.com/a/27677649/5343341
Robotic-Brain,

1
Come vengono create le versioni di un gist? Automaticamente ogni volta che viene inserito un personaggio o esiste un meccanismo di commit? Mi dispiace andare avanti con questa discussione, ma questo è un posto conveniente!
seinecle

Risposte:


349

GitHub è l'intero sito. I Gists sono un servizio particolare offerto su quel sito, vale a dire frammenti di codice simili a pastebin. Tuttavia, tutto è guidato dal controllo delle revisioni git, quindi gli utenti hanno anche storie di revisione complete.


191
Quindi qual è la differenza tra un Gist e un repository? Quali sono i vantaggi e gli svantaggi di ciascuno? (Credo che questo fosse ciò che l'OP intendeva chiedere)
Chharvey,

59
@ TestSubject528491: un repository è per file creati dall'utente. Una sintesi è per un pezzo di codice (di solito non collegato ad altro codice), come per discutere o fornire esempi.
Kerrek SB,

19
@ TestSubject528491 Come dice Kerrek, Gists è essenzialmente l'equivalente di Githubs di Pastebin.
Phill Healey,

45
@Pacerier: Certo che potresti. Ma poi devi gestire i file da solo, clonare il repository, eseguire il commit e tutto il resto. Gists ti consente di modificare il testo direttamente nel browser e non ci sono file che devi gestire. Come ho detto, lo stesso meccanismo di controllo della versione sottostante, ma risponde a esigenze diverse.
Kerrek SB,

19
@SimonEast le principali differenze tra github e gists sono in termini di numero di funzionalità e interfaccia utente: uno è progettato con un gran numero di funzionalità e flessibilità in mente, che si adatta bene sia a progetti piccoli che molto grandi, mentre i gists sono adatto solo per progetti molto piccoli. Ad esempio, i gists supportano multi-file, ma l'interfaccia è molto semplice e hanno funzionalità limitate, quindi non hanno nemmeno un browser di file, né problemi, richieste pull o wiki. Se non hai bisogno di farlo, le parole chiave sono molto belle e più discrete. Come i commenti, anziché le risposte, in SO.
joseLu,

136

La mia visione personale di Gist e GitHub:

Gist: Gist è un modo semplice per condividere frammenti di codice e paste con altri. Viene utilizzato quando è necessario condividere un campione di codice o tecnica con i propri colleghi o amici.

E

GitHub GitHub, d'altra parte, fornisce una piattaforma per condividere un intero progetto come repository tra un team (repository privato) o in tutto il mondo (repository pubblico).

Entrambi registreranno i dettagli della versione.


1
puoi fare un esempio in dettaglio
Chetan,

6
@Chetan esempio di un riassunto (nota come sia solo un singolo file, non ha davvero bisogno di alcun file di supporto, nessuno potrà mai fare i biglietti, ecc. (A parte il fatto che la configurazione è probabilmente vecchia, quindi non usarla) ). esempio di un progetto è piuttosto piccolo ma qualcuno potrebbe aprire un ticket con suggerimenti e facile da ricordare indirizzo vs gist's url
vrillusions,

45

Le principali differenze tra github e gists sono in termini di numero di funzionalità e interfaccia utente:

Uno è progettato con un gran numero di funzionalità e flessibilità in mente, il che si adatta bene sia a progetti piccoli che molto grandi, mentre i concetti fondamentali sono adatti solo per progetti molto piccoli.

Ad esempio, i gists supportano multi-file, ma l'interfaccia è molto semplice e hanno funzionalità limitate, quindi non hanno nemmeno un browser di file, né problemi, richieste pull o wiki. Se non hai bisogno di farlo, le parole chiave sono molto belle e più discrete. Come i commenti, anziché le risposte, in SO.

Nota: grazie a @Qwerty per il suggerimento di rendere il mio commento una vera risposta.


4
Anche "I contenuti sono per i file, i repository sono per le directory", twitter.com/pavelrepin/status/297473901884223488
Qwerty,

5
Secondo me questa è l'unica vera risposta alla domanda fino ad oggi. Ogni altra risposta riafferma semplicemente lo scopo dei siti senza spiegare quali funzionalità e differenze lo consentono. È come dire "Questa macchina è pensata per guidare fino alla spiaggia, ma questa macchina è pensata per guidare al lavoro", senza menzionare che la macchina da spiaggia è una cabriolet.
DavidS,

20

La mia comprensione personale o dire il mio uso personale di Gist e Github è:

  • Github

Un grande lavoro di progetto. Se vuoi creare un sito Web, sviluppare un'applicazione mobile o web o svolgere il tuo compito con i tuoi compagni di squadra, usa github.

  • nocciolo

più come un promemoria. ad esempio puoi scrivere l'implementazione di una piccola funzionalità e condividerla sul tuo blog o scrivere ciò che pensi del progetto e condividerlo con i tuoi compagni di squadra. Proprio come quello che dicevano le risposte sopra, gist è usato per cose più simili allo snippet di codice. Quindi normalmente se lavori su un progetto usi github.


3
L'analogia del "memo" mi ha chiarito le cose, altrimenti dovrei chiedere "cos'è un pastebin?"
Y

18

Puoi accedere a Gist visitando il seguente indirizzo gist.github.com . In alternativa puoi accedervi dal tuo account Github (dopo aver effettuato l'accesso) come mostrato nell'immagine seguente:

come accedere a gist dall'interno della console github

 

Github: un servizio di hosting che ospita un repository git basato sul web. Include tutta la funzionalità di git con funzionalità aggiuntive aggiunte.

 

Gist: è una funzionalità aggiuntiva aggiunta a github per consentire la condivisione di frammenti di codice, note, fare elenchi e altro. Puoi salvare i tuoi Gist come segreti o pubblici. Le informazioni segrete sono nascoste dai motori di ricerca ma sono visibili a chiunque condivida l'URL.

Per esempio. Se vuoi scrivere un elenco di cose da fare private. Puoi scriverne uno usando Github Markdown come segue:

come scrivere un privato per fare la lista

NB: è importante preservare lo spazio bianco come mostrato sopra tra il trattino e le parentesi. È anche importante salvare il file con l'estensione .md perché vogliamo che il markdown sia formattato correttamente. Ricorda di salvare questo Gist come segreto se non vuoi che altri lo vedano.

 

Il risultato finale è simile all'immagine seguente. Le caselle di controllo sono selezionabili perché abbiamo salvato questo Gist con l'estensione .md

Come appare l'elenco delle cose da fare se l'hai formattato correttamente


4
"Ricorda di salvare questo Gist come segreto se non vuoi che altri lo vedano." Fai attenzione: altre persone possono vedere il tuo segreto se hanno l'URL. Vedi help.github.com/articles/about-gists/#secret-gists
Gan

In che modo questo risponde alla differenza tra Gists e Github? (o repository Github - la domanda che OP probabilmente intendeva davvero porre) Questo non affronta affatto la domanda originale
JoelAZ

Ora funziona anche con "gist.new"
Abhik Banerjee,

3

“I Gists sono in realtà repository Git, il che significa che puoi biforcare o clonare qualsiasi gist, anche se non sei l'autore originale. Puoi anche visualizzare la cronologia completa del commit di una sintesi, comprese le differenze. "

→ consulta la documentazione ufficiale di github

Quindi la differenza fondamentale è che si tratta di singoli file.

Oh, e: i gists possono essere "segreti" (come in: url privato) anche senza essere un cliente github pagante, se capisco correttamente ...


4
i gists possono avere più file però
antont

Fantastico, non lo sapevo !
Frank Nocke,

wow, così posso clonare il mio succo, ad esempio git clone https://gist.github.com/jxramos/b227766a5f593b1154449217a656158dche crea una directory sul mio filesystem denominata b227766a5f593b1154449217a656158de che contiene un singolo file semantic_notes.mdin questo caso. Sperimenterò sviluppandomi sul mio succo proprio come un repository. Buono a sapersi. Questo deve essere il modo in cui i commenti vengono aggiunti anche alle revisioni principali. Non ho mai visto come farlo dall'editor dell'interfaccia utente.
jxramos,

3

GitHub Gists

Gist o no. Questa è la domanda da $ 64 ...

GitHub Gists sono Single ( or, multiple ) Simple Markdown Filescon repo simile qualità che può essere biforcuta o clonati (se pubblici).

Altrimenti, non se privato.

Un po 'come un elegante blocco per appunti che può essere condiviso.

Simile a questo blocco appunti di commento su cui sto scrivendo ora, ma un po 'più elaborato.

Considerando che un ufficiale , completa repo GitHub è un repository completo soffiato di codice sorgente src, documenti giustificativi (mark-down o HTML, o entrambi) docso root, immagini png, ico, svg, e un config.sysprogramma per l'esecuzione variabili YAML ospitate su un server Jekyll.

Un semplice file Gist supporta Yaml front matter?

Io non la penso.

Dalla documentazione ufficiale di GitHub Gist ...

L'editor gist è alimentato da CodeMirror .

Tuttavia, puoi copiare un Gist pubblico (o un Gist privato se il proprietario ti ha concesso l'accesso tramite un link al Gist privato) ...

E puoi quindi incorporare quel Gist pubblico in un repository "ufficiale" page.mdusando Visual Studio Code, come segue:

"Puoi incorporare una sintesi in qualsiasi campo di testo che supporti Javascript, come un post sul blog."

"Per ottenere il embedcodice, fai clic sull'icona degli Appunti accanto al Embed URLpulsante di un elemento."

Questa è una bella funzionalità.

Mi fa venir voglia di cercare (scoprire) i concetti di altre persone, o OPG e incorporare il loro lavoro "pubblico" nei miei repository funzionanti.

"Puoi scoprire le pubblicazioni PUBBLICHE che altri hanno creato andando alla home page della guida e facendo clic sul link ...

All Gists {: title = 'Fai clic per esaminare la funzione Scopri in GitHub Gists'} {: target = '_ blank'}. "

Caveat . Nessun supporto per i tag Liquid su GitHub Gist.

Suppongo che se trovo qualcosa di utile, posso sempre eseguire il ping-back o citare quella fonte se uso il lavoro nei miei repository funzionanti.

Dove viene pubblicata la licenza implicita per tutti i contenuti resi pubblici dai loro autori?

Roberto

PS Questo è un bel commento. Penso che lo trasformerò in un giste lo renderò pubblicamente ricercabile su GitHub Gists.

Nota . Quando incorporare il <script></script>tag HTML all'interno del corpo di un file Markdown (.MD), è possibile ottenere un avvertimento "MD033" dal linter .

Ciò non dovrebbe, tuttavia, influire sul rendering dei dati (src) chiamati dall'interno del scripttag.

Per modificare il flag di avviso predefinito in modo che si adatti al contenuto chiamato di un scripttag all'interno di Visual Studio Code, aggiungere una voce all'oggetto di configurazione Markdownlint nel User Settingsfile Json, come segue:

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

Nota . Soluzione derivata da GitHub Commit di David Anson


Prenditi un momento per leggere la guida alla modifica nel Centro assistenza. La formattazione su Stack Overflow è diversa rispetto ad altri siti.
Isiah Meadows,

Inoltre, GitHub Gist ti consente di pubblicare molto più di un semplice codice. Ecco un esempio concreto di questo , e sì, in realtà ho usato Git con esso. (Puoi effettivamente trattarli come repository completi da un client Git, inclusi rami extra; semplicemente non hai tutta la gestione dei problemi, le interfacce web per le cose di base di Git e altre bellezze che ne derivano in un GH adeguato repo.)
Isiah Meadows

2

GISTS The Gist è un servizio eccezionale fornito da GitHub. Utilizzando questo servizio, puoi condividere il tuo lavoro pubblicamente o privatamente. Puoi condividere un singolo file, articoli, applicazioni complete o codice sorgente, ecc.

GitHub è molto più di un semplice Gists. Fornisce servizi immensi per raggruppare un progetto o programmare risorse digitali in una posizione centralizzata chiamata repository e condividere tra le parti interessate. Il repository GitHub conterrà o manterrà la versione multipla dei file o la cronologia delle modifiche e puoi recuperare una versione specifica di un file quando vuoi. Considerando che gist creerà ogni post come un nuovo repository e manterrà la cronologia del file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.