2015-04-26 14 views
15

Sono un principiante di Git e Github e sono ancora confuso su di loro. Si dice che possiamo usare Git senza Github quando collaboriamo con altre persone. Tuttavia, si dice anche che Git funziona localmente sul proprio computer. Se non usiamo Github, come possiamo collaborare mentre Git funziona solo localmente?Come collaborare a un progetto usando Git senza usare Github?

+2

Esistono molti modi per condividere un repository remoto, inclusa la configurazione del proprio server git. Github è solo * uno * mezzo per condividere facilmente repository remoti, e certamente non l'unico. http://www.bitbucket.org è un altro grande. –

+4

Non so chi abbia votato questo, è una domanda perfettamente buona per un principiante assoluto come presumo l'OP. – brian

+4

Hai bisogno di una sorta di servizio per ospitare il repository per te. Questo è dove vai per impostare il repository. Da lì puoi spingere e tirare i rami l'un l'altro - è così che condividi il codice. GitLab, GitHub, BeanStalk e Bitbucket sono alcuni di questi servizi. Alcuni sono gratuiti Prova un semplice esempio con un solo collaboratore. @brian Sono anche un po 'turbato dal numero di voti bassi e commenti negativi rivolti ai principianti. – Jeff

risposta

1

Collaborate scambiando commit tra repository e cooperando in qualsiasi misura troviate conveniente su cosa nominare quelli interessanti. Questo è tutto. Davvero: questo è tutto ciò che c'è da fare.

Github esegue un server che parla la maggior parte dei protocolli principali supportati da git per scambiare commit e refnames, e ha una GUI Web in cima a un grande aiuto di utili astrazioni e funzionalità per l'accesso mediato da browser, ma quando arriva fino ad esso è tutto basato sullo scambio di commit. Ci sono molti modi per farlo, perché la struttura sottostante è (abbastanza letteralmente incredibilmente) semplice. È così semplice che la gente non ci crede.

I tuoi repository sono tuoi; ciò che accade in loro è solo la tua attività. L'idea è di ottenere commit in un altro repository in un senso concordato (per ciascun repository) che li pubblica. Quello che c'è in alcuni repository (compresi i tuoi) includerà commit approssimativi e note casuali, esperimenti e spazzatura a titolo definitivo che nessuno vuole. A nessuno importa quello che c'è nei tuoi repository personali più di quanto gli importi quello che c'è nelle note sulla tua scrivania, sono quelli che pubblichi ciò che conta.

L'utilizzo di più repository per un flusso di lavoro a progetto singolo è comune: la creazione di un clone di sandbox per un lavoro davvero sperimentale non richiede praticamente due secondi per i repository più grandi (qualsiasi checkout successivo potrebbe richiedere del tempo). Inizi a fare cloni su un tmpfs con un minimo di pensiero.

E in ogni repository si ha la piena potenza di un VC di livello mondiale disponibile per il proprio uso esclusivo e personale.

1

Git è un software di controllo della versione che imposta i repository. Come è fatto e come li gestisci è un'altra storia, ma il punto principale è che il codice rimane nei repository. Tutti i repository sono identici, poiché questo è un sistema distribuito. Il problema è che quando si collabora, l'intero team ha bisogno di accedere allo stesso repository.

Questo è fondamentalmente ciò che fa GitHub: crea un repository che funge da repository principale, e ogni membro del team si sincronizza il suo repository con il "principale" uno (si ricordi che il repository da github è la stessa come la tua).

Perché non sincronizzarlo con il repository sul PC? Perché è più facile. Dovresti configurare un server, per dare il tuo indirizzo IP, puoi creare problemi di sicurezza e così via. Ma potrebbe essere fatto. Inoltre, se vuoi veramente proteggere il tuo codice da un'azienda, ad esempio, crea un repository git su una macchina e sincronizza tutti i repository di tutti su quella.

Problemi correlati