2013-03-26 18 views
5

Supponiamo che ci sia un repo ufficiale mantenuto chiamato O con rami B1, B2 & B3.Forking solo un ramo specifico da Github repository

Un utente, che ha biforcato sul proprio account Github, ha creato un altro ramo chiamato B4 ed è disponibile pubblicamente.

Ho anche biforcato lo stesso repo ufficiale ma voglio biforcare anche il ramo B4 di quell'utente senza intaccare la mia copia originale.

Non riesco a bifare l'intero repo ufficiale di nuovo come ho fatto diverse filiali personalizzate per me stesso.

Quindi, come posso inserire un ramo particolare sul mio repository Github?

risposta

3

È possibile inserire la filiale nel proprio repository git locale, quindi inviarla al repository GitHub ospitato.

In primo luogo, aggiungere un telecomando per questo di altri utenti GitHub pagina

git remote add other-user http://github.com/otheruser/repo 

Poi fare un checkout locale di quel ramo in pronti contro termine.

git checkout -b B4 other-user/B4 

Infine, invia il ramo al repository ospitato su GitHub.

git push origin B4:B4 
+0

È un errore fatale. L'url del repository dell'utente è qualcosa come "user/repo/tree/sg/search". Ho aggiunto questo percorso solo al remoto. – xan

+0

Qual è esattamente l'URL che hai fornito quando aggiungi il telecomando? – keelerm

+0

http://github.com/user/repo/tree/sg/search – xan

3

Aggiungi repository di tale utente come un "repository remoto" della vostra directory di lavoro:

git remote add someuser git://github.com/someuser/somerepo.git 

Una volta fatto questo, è necessario per andare a prendere le modifiche dal repository di quell'utente. In seguito, puoi farlo in qualsiasi momento, senza influenzare nient'altro nel tuo repository locale.

git fetch someuser 

e il ramo che l'utente del B4 nel proprio B5:

git checkout -b B5 someuser/B4 

Cioè, creare un nuovo ramo (-b) chiamato B5, utilizzando someuser/B4 come punto di partenza.

+0

Finora ho fatto tutto ciò che hai istruito. Mentre si fa 'git branch -r' mostra il repository sotto il telecomando'/someuser'. Ora, come posso spingerlo al mio repository Github? – xan

+0

Trova il nome remoto per il repository Github. Probabilmente è 'origin', ma puoi ricontrollare con' git remote -v'. Quindi lancia "git push origin B5". – legoscia

Problemi correlati