2015-11-20 12 views
7

Ho clonato un repo git sul mio computer locale, ci ho giocato un po 'e l'ho trovato fantastico.Github: come biforcare dopo la clonazione?

Ora vorrei mantenere il risultato come l'ho modificato nel mio spazio github. Come posso procedere?

Suppongo che il modo normale sarebbe stato quello di posizionare il repository sul primo posto nel mio spazio, clonarlo, modificarlo e quindi inserirlo in GitHub, ma ora ho clonato il repository dell'autore dell'originale, come posso impegnarlo come una cosa nuova nel mio personale?

+2

aggiorna l'origine. –

+1

Potresti voler saperne di più sui telecomandi: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes. –

risposta

14

Prima rinominare il vecchio remoto come upstream, nel caso in cui si desideri mantenere la sincronizzazione con il repository originale.

git remote rename origin upstream 

Allora aggiungi la tua repository biforcuta come origine:

git remote add origin https://github.com/<your-username>/<your-project> 

Oppure, se si sta usando ssh:

git remote add origin https://[email protected]/<your-username>/<your-project>.git 

Per spingere al repository:

git push -u origin master 

Per estrarre dal repository di base:

git pull upstream 

Vi consiglio di fare tutto il vostro lavoro in un ramo separato, non nel ramo principale. Sarà più facile effettuare il rebase sul ramo upstream/master nel caso in cui si desideri effettuare una richiesta di pull.

Non è veramente rinominare il origin-upstream - i nomi remoti possono essere arbitrario, ma ho consigliato di fare in modo di tenere il passo con la naming convention used by GitHub.

+0

Ciao, penso di aver fatto questi passi e ora quando ho premuto 'git status' ricevo le notifiche per 'upstream' invece dell'origine. Voglio dire che sono sincronizzato se ho sincronizzato con l'origine. Qualche consiglio? – Aurimas

+0

Hai provato a controllare il tuo ramo 'git checkout ' e digitando: 'git branch --set-upstream-to origin/my_branch'? – jeremija

0

Nella pagina Web di GitHub creare una forcella nel solito modo. Quindi vai al tuo repository e aggiungi un telecomando che punta alla tua forcella: git remote add myfork [email protected]:you/your-fork.git. Questo aggiunge un telecomando chiamato "myfork" che puoi inviare a. Puoi anche modificare l'URL della forcella "origine"; questo ti porterà esattamente nello stesso stato come se tu fossi clonato dalla tua forcella per cominciare: git remote set-url origin [email protected]:you/your-fork.git.

+0

Ho fatto questi passaggi da un PowerShell che ho aperto da Github Desktop passando il mouse sul mio repository locale. Ho quindi seguito i primi due passaggi. Rinominare e aggiungere (con il primo suggerimento, no SSH. Posso provare a fare di nuovo con SSH (git @ github ...) senza alcun danno? C'è un modo per sapere se dovrei lavorare con SSH o no? In ogni caso , al terzo passaggio, dopo: git push -u origine master errore: src refspec master non corrisponde a nessuno errore: impossibile inviare alcuni riferimenti a https://github.com/myname/myproj Cosa dovrei? – pashute

Problemi correlati