2009-07-02 20 views
39

Ho un repository locale su cui sto lavorando e il suo telecomando è ospitato su GitHub. Di recente ho creato una filiale e ho iniziato a lavorarci sopra, facendo diversi commit e ora desidero spingere il ramo su GitHub ed essere in grado di portarlo su un altro repository clonato.Push and pull branches in Git

Cosa deve essere fatto per realizzare questo?

Se questo non è possibile utilizzando GitHub, sarei felice di sapere come farlo normalmente.

+0

Maggiori informazioni sul flusso di lavoro all'indirizzo: http: //stackoverflow.com/a/9204499/631619 –

+0

non il titolo più perspicace per una domanda, ugh –

risposta

46
git push origin <local-branch-name>:<remote-branch-name> 

Sostituto per <local-branch-name> e <remote-branch-name>. Possono essere uguali o diversi, come desideri.

+2

Significa che posso quindi eseguire "git pull origin : "? – PHLAK

+4

@PHLAK: Sì, puoi anche usare lo stesso refspec per 'git pull'. –

+0

@AlanHaggaiAlavi Ma non è lo stesso refspec. –

16

Come avete impostato i telecomandi già, il comando è solo

git push origin branch-name 

sulla prima spinta.

Successivamente, l'utilizzo di git push origin spingerebbe tutti i rami con il nome corrispondente sul telecomando.

5

Assicurarsi che l'URL remoto stia utilizzando la sintassi SSH e non solo la sintassi del protocollo Git. Se si esegue,

git remote show origin 

l'URL stampata dovrebbe essere simile,

[email protected]:yourname/projectname.git 

è necessario l'URL troppo a guardare come che se si vuole essere in grado di spingere. Se sono solo un utente pubblico (senza accesso in scrittura) l'URL sarà simile,

git://github.com/yourname/projectname.git 

Se il vostro sembra quest'ultimo quindi è possibile modificare manualmente nei vostri progetti .git/config file.

+0

Posso già spingere e tirare per e dal mio repository GitHub, sto solo cercando di capire come spingere e tirare un ramo. – PHLAK

0

se è necessario tirare alcun codice filiale da remoto a locale

$git pull origin branch_name 

mentre se è necessario spingere il codice alla tua filiale

è necessario controllare è il vostro codice di salvare correttamente si può controllare da

$git status 

di

$git add -A 

dopo questo make impegnarsi per il vostro ramo

$git commit -m "this is initial change" 

di (Last) spingere il codice per la vostra filiale da:

$git push origin branch_name