Differenza tra Git e GitHub


Risposte:


366

Git è un sistema di controllo delle revisioni, uno strumento per gestire la cronologia del codice sorgente.

GitHub è un servizio di hosting per i repository Git.

Quindi non sono la stessa cosa: Git è lo strumento , GitHub è il servizio per i progetti che usano Git .

Per ottenere il tuo codice su GitHub, dai un'occhiata qui .


22
In particolare, GitHub è una conseguenza dell'esistenza di git e non l'unico servizio di hosting.
Jonas Schäfer,

83
Inoltre, non è necessario utilizzare un servizio remoto come github se invece si è controllo di versione - git locale è bene per questo. I repository remoti sono per il backup e la collaborazione.
Thilo,

3
Nota che puoi creare un repository git remoto in molti server web come webfaction vs heroku. Configurare quel github è un po 'più difficile, ma è più economico per i grandi team.
Adrian Lopez,

1
controlla questo confronto per saperne di più sui servizi di hosting Git. git-tower.com/blog/git-hosting-services-compared
Junaid

Penso che l'uso delle parole "strumento" e "servizio" sia ambiguo per le persone che non hanno familiarità con il problema (vale a dire, le persone che cercano su Google questa domanda). Forse "Git è una tecnologia per la gestione del codice sorgente, mentre GitHub è uno dei tanti prodotti che forniscono git come servizio per il codice ospitato con loro".
Rashad Saleh,

68

Nell'analogia SVN, Git sostituisce SVN, mentre GitHub sostituisce SourceForge: P

Se questo tuo progetto è nuovo, puoi comunque impegnarti nel tuo Git locale, quindi puoi passare a GitHub in seguito. Sarà necessario aggiungere il repository GitHub come "repository remoto" nella configurazione di Git.

Sembrano avere qualcosa per gli utenti di Eclipse: http://eclipse.github.com/

Altrimenti, se non conosci Git: http://git-scm.com/book


Quali sono le alternative all'utilizzo di un GITHUB online?
variabile

@variabile Intendi qualcosa come un repository Git locale o un server Git self-hosted come GitLab?
Bakkal

65

Cos'è Git :

"Git è un sistema di controllo della versione distribuito gratuito e open source progettato per gestire qualsiasi cosa, dai progetti piccoli a quelli molto grandi, con velocità ed efficienza"

Git è un sistema di controllo versione peer-peer distribuito. Ogni nodo nella rete è un peer, che memorizza interi repository che possono anche fungere da backup distribuiti multi-nodo. Non esiste un concetto specifico di server centrale, sebbene i nodi possano essere senza testa o "nudi", assumendo un ruolo simile al server centrale nei sistemi di controllo centralizzato della versione.

Cos'è GitHub :

"GitHub è un servizio di hosting di repository Git basato sul Web , che offre tutte le funzionalità di controllo della revisione distribuita e gestione del codice sorgente (SCM) di Git, oltre ad aggiungere le proprie funzionalità."

Github fornisce controllo degli accessi e diverse funzionalità di collaborazione come wiki, gestione delle attività, tracciamento dei bug e richieste di funzionalità per ogni progetto.

Non è necessario GitHub per utilizzare Git.

GitHub (e qualsiasi altro sistema locale, remoto o ospitato) possono essere tutti peer negli stessi repository con versione distribuita all'interno di un singolo progetto.

Github ti consente di:

  • Condividi i tuoi repository con altri.
  • Accedi ai repository di altri utenti.
  • Archivia copie remote dei tuoi repository (server github) come backup delle tue copie locali.

dimmi perché git si chiama distribuito? solo perché il cambiamento di git store è impostato nel pc locale? chiarisci il significato di questa parola distribuita perché sono nuovo di Git. grazie
Mou

1
Hai bisogno di Git per usare GitHub?
user3187724

25

Git - Lo strumento di controllo della versione su cui GitHub è costruito.

GitHub - La nostra azienda e il nome del nostro software. Costruiamo software e siti Web per aiutarti a interagire con i repository Git in modo piacevole.

GitHub.com - Il sito Web a cui accedi per visualizzare i repository online.

GitHub Desktop - Un'applicazione che puoi installare sul tuo computer per aiutarti a sincronizzare il codice locale con GitHub.com.

fonte: https://guides.github.com/introduction/getting-your-project-on-github/


15

Esistono alcune ovvie differenze tra Git e GitHub .

Git stesso è davvero focalizzato sui compiti essenziali del controllo delle versioni. Mantiene una cronologia di commit, consente di annullare le modifiche tramite i comandi di ripristino e ripristino e consente di condividere il codice con altri sviluppatori tramite i comandi push e pull. Penso che queste siano le funzionalità essenziali che ogni sviluppatore desidera da uno strumento DVCS.

Grafico comparativo Git contro GitHub

No Scope Creep with Git

Ma una cosa di Git è che si concentra solo sul laser sul controllo del codice sorgente e nient'altro. È fantastico, ma significa anche che allo strumento mancano molte funzionalità che le organizzazioni desiderano. Ad esempio, non esistono strutture di gestione utenti integrate per autenticare chi si connette e impegna il codice. L'integrazione con cose come Jira o Jenkins è lasciata agli sviluppatori per capire cose come gli hook. Fondamentalmente, ci sono un sacco di posti in cui le funzionalità potrebbero essere integrate. È qui che entrano in gioco organizzazioni come GitHub e GitLab.

Funzionalità GitHub aggiuntive

Il principale "valore aggiunto" di GitHub è che fornisce una piattaforma basata su cloud per Git. Questo di per sé è fantastico. Inoltre, GitHub offre anche:

  • semplice tracciamento delle attività
  • un'app desktop GitHub
  • modifica di file online
  • regole di protezione delle filiali
  • funzioni di richiesta pull
  • strumenti organizzativi
  • limiti di interazione per hothead
  • supporto emoji !!! : octocat:: +1:

Quindi GitHub aggiunge davvero lucentezza e raffinatezza a uno strumento DVCS già popolare.

Concorrenti Git e GitHub

A volte, quando si tratta di distinguere tra Git e GitHub, penso che sia bello guardare contro chi competono. Git compete su un aereo con strumenti come Mercurial, Subversion e RTC, mentre GitHub è più nello spazio SaaS in competizione con i fornitori di cloud come GitLab e BitBucket di Atlassian.

Non è richiesto GitHub

Una cosa che mi piace sempre ricordare alle persone è che non hai bisogno di GitHub o GitLab o BitBucket per usare Git. Git è stato rilasciato in cosa, 2005? GitHub non è entrato in scena fino al 2007 o al 2008, quindi le grandi organizzazioni stavano facendo il controllo della versione distribuita con Git molto prima che arrivassero i fornitori di cloud hosting. Quindi Git sta bene da solo. Non è necessario un servizio di cloud hosting per essere efficace. Ma allo stesso tempo, avere un fornitore PaaS non fa certo male.

Lavorare con GitHub Desktop

A proposito, hai menzionato la mancata corrispondenza tra i repository nel tuo account GitHub e i repository che hai localmente? Questo è comprensibile. Fino a quando non si è connessi e eseguito un pull o un fetch, il repository Git locale non è a conoscenza del repository GitHub remoto. Detto questo, GitHub fornisce uno strumento noto come desktop GitHub che consente di connettersi a GitHub da un client desktop e caricare facilmente i repository Git locali su GitHub o portare i repository GitHub sul proprio computer locale.

GitHub Desktop

Non sono particolarmente impressionato dallo strumento, poiché una volta che conosci Git, queste cose non sono così difficili da fare nella shell Bash, ma è un'opzione.

La lotta tra Git e GitHub


9

In modo semplice possiamo dire di seguito la differenza tra git e git hub e VSTS.

git : - Tratta git come un motore / tecnologia per ottenere il controllo della versione sorgente del nostro progetto. A differenza di TFS (di nuovo un controllo centralizzato della versione di origine) git è la tecnologia di controllo della versione distribuita. Ciò significa che git in realtà non ha alcun mandato per avere un server. Tramite la tecnologia git possiamo creare la nostra macchina locale come repository di codice sorgente che non deve sempre avere un server centralizzato (su larga scala può avere un server Microsoft per inviare e conservare il codice sorgente del nostro progetto). Ma con il controllo della versione di tipo SVN e TFS, è obbligatorio che un server sia associato ad esso.

Ad esempio, se sono uno sviluppatore free-lance e riferisco direttamente al mio cliente e non sono coinvolti altri sviluppatori, devo mantenere il controllo della versione del mio codice per eseguire il rollback (qualsiasi versione) e impegnare i miei codici e non lo faccio dispongo di un budget per ottenere un server e non ho tempo di installare e utilizzare altri server nella mia macchina come server TFS e client TFS. Quindi, il modo ottimale è installare git engine e usare la mia macchina locale come repository per la versione che controlla da git.

GitHub : - Come ho detto prima, git è una tecnologia e usata con alcuni comandi / comandi shell, cioè solo git non ha UI. GitHub è un prodotto online o un repository online che utilizza la tecnologia git per i loro processi e raggiunge i controlli di versione insieme ad altre funzionalità come il tracciamento dei bug, la gestione dei progetti, la gestione dei ticket di supporto ... ecc. In altre parole, Git Hub è un wrapper basato sulla tecnologia git con un'interfaccia utente e altre funzionalità di altre società terze, in realtà è un prodotto di proprietà di qualcuno o di un gruppo basato sulla tecnologia git, dove git è open source e non commerciabile Prodotto.

VSTS : - VSTS è un prodotto Microsoft per repository online che mantiene il controllo della versione di origine che può essere trattato come un alternativa a git hub. Dal momento che è di Microsoft, VSTS supporta sia la tecnologia git che TFS (controllo della versione della fondazione del team TFVC). Perché TFS è un altro vecchio prodotto Microsoft per ottenere questo controllo di versione. Di solito presumo che VSTS scaricherà gradualmente TFS poiché git è la tecnologia di spicco in questo settore ed è open source.


7

In parole povere:

  1. Sono tutti controllo del codice sorgente, come tutti sappiamo.
  2. In analogia, se Git è un computer autonomo, allora GitHub è una rete di computer collegati via web con campanelli e fischietti.
  3. Quindi, a meno che tu non apra un acct GitHub e dica specificamente a VSC o a qualsiasi editor di usare GitHub, vedrai il tuo codice sorgente lassù, altrimenti sono solo quaggiù, il tuo computer locale.

0

Git - Git è un software di controllo della versione che si installa sul sistema locale. Per un individuo che lavora su un solo progetto, Git si rivela un software eccellente.

GitHub - Come accennato in precedenza, Git è un sistema di controllo versione che tiene traccia delle modifiche al codice, mentre GitHub è un servizio di hosting di repository di controllo versione Git basato sul web. Fornisce tutte le funzionalità di controllo della versione distribuita e di gestione del codice sorgente (SCM) di Git, completandole con alcune delle sue caratteristiche.


0

In poche parole, Git è un sistema di controllo della versione che consente di gestire e tenere traccia della cronologia del codice sorgente. GitHub è un servizio di hosting basato su cloud che consente di gestire i repository Git. Se hai progetti open source che utilizzano Git, GitHub è progettato per aiutarti a gestirli meglio.


-3

Github è richiesto se si desidera collaborare tra sviluppatori. Se sei un singolo collaboratore, git è sufficiente, assicurati di eseguire il backup del codice su base regolare

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.