2012-10-23 17 views
11

Prima di tutto, perdonami se questa è una domanda doppia. Non so nient'altro se non la terminologia di base, ed è difficile trovare una risposta usando solo i termini dei laici.Git - Sincronizzazione di un repository Github con uno locale?

Ho creato un progetto e ho creato un repository su Github. Sono stato in grado di lavorare con quello e caricare roba su di esso per qualche tempo, su Windows. L'applicazione Github per Windows è carina, ma vorrei che ci fosse una GUI per il git Linux.

Desidero essere in grado di scaricare il sorgente per questo progetto, ed essere in grado di modificarlo sul mio computer Linux, ed essere in grado di fare git commit -m 'durrhurr' e farlo caricare sul master repository.

+0

Appoggiato i comandi di base git sarà molto utile per voi. Se vuoi una GUI e lavori con Linux puoi provare Rabbit qui http://rabbitvcs.org/ – AlexP

+0

Git ne ha due nell'albero dei sorgenti: 'gitk' (visualizzazione cronologia) e' git gui' (generalmente GUI ai suoi comandi) – fork0

risposta

8

Perdonami se hai già fatto la maggior parte di questo:

Il primo passo è quello di impostare le chiavi SSH se si sta cercando di passare attraverso ssh, se si passa attraverso HTTPS è possibile saltare questo passaggio . Le istruzioni dettagliate sono fornite a https://help.github.com/articles/generating-ssh-keys

Il passaggio successivo consiste nel creare un clone locale del repository.Usando la riga di comando sarà git clone <url> l'url che dovresti riuscire a trovare sulla tua pagina github.

Dopo di che si dovrebbe essere in grado di impegnarsi e spingere oltre la linea di comando utilizzando git commit -am "commit message" e git push

+0

Non avevo idea di cosa fossero le chiavi SSH. Quindi ho fatto tutto questo e ha funzionato. Grazie! Sto ancora pensando di installare una GUI per questo, ma almeno ho il terminale a cui ricorrere. –

10

È possibile utilizzare SmartGit per una GUI per git su Linux: http://www.syntevo.com/smartgit/index.html

Ma imparare git prima sulla riga di comando è generalmente una buona idea:

seguito sono riportati alcuni esempi di base supponendo lavorano solo da il ramo master:

Esempio per l'avvio di un repo locale basata su quello che hai da github:

git clone https://github.com/sampson-chen/sack.git 

Per visualizzare lo stato del pronti contro termine, fare:

git status 

Esempio per la sincronizzazione di pronti contro termine locale per le modifiche più recenti su github:

git pull 

Esempio per l'aggiunta di file nuovi o modificati per un "palcoscenico "per commettere

git add /path/file1 /path/file2 

Pensate al palco come i file che si raccontano in modo esplicito git per tenere traccia di per controllo di revisione. git vedrà tutti i file nel repository (e cambierà in file tracciati), ma funzionerà solo sui file che si aggiungono allo stage da eseguire.

Esempio per aver commesso i file nella "fase"

git commit 

Esempio per spingere il vostro repo locale (qualunque cosa si sono impegnati a vostra repo locale) per GitHub

git push 
+0

Sì, mi piacerebbe essere in grado di usarlo sulla riga di comando, ma se tutto il resto fallisce userò questo. : f (O entrambi). –

0
  • Per iniziare lavorando sul progetto in linux, clona il repository su Linux. Aggiungi la chiave pubblica ssh a github. Aggiungi il tuo nome utente ed email a git-config.
  • Per la GUI è possibile utilizzare gitg.

PS: abituarsi a git cli, vale la pena dedicare del tempo.

2

Quello che dovete fare è clonare il repository git. Dal terminal cd alla directory che si desidera il progetto e fare

git clone https://github.com/[username]/[repository].git

Ricordati non usare sudo come si vuole rovinare i permessi remoti.

È quindi necessario eseguire qualsiasi modifica locale, ad esempio il git commit -m e quindi è possibile farlo.

git push

Ciò aggiornerà il repository remoto.

Infine, se è necessario aggiornare il vostro progetto localecd la directory richiesta e poi:

git pull

Problemi correlati