2010-12-24 15 views
37

Ho un repository in github che è pubblico, lì ho un'applicazione Open Source su cui sto lavorando che serve per creare cataloghi di prodotti e piccoli cms.È possibile prelevare da un repository e inviarlo all'altro?

Ho anche un repository privato (non ospitato in github) che è un'applicazione sviluppata sotto l'applicazione open source ospitata in github.

Dato che attualmente sto lavorando su entrambe le applicazioni, aggiungendo funzionalità in open source e apportando modifiche anche a quella privata come cambiare il modello e anche estraendo il codice da quello open source.

Mi chiedevo se c'era un modo in cui potevo estrarre il nuovo materiale da quello open source ma anche il codice della nuova applicazione sull'altro repository.

risposta

10

git pull private master e git push github master estrae dal repository privato (dato che viene chiamato così) e passa a github (potrebbe anche essere chiamato origin). Non è SVN ;-)

+0

qualcosa come git pull normalmente viene prelevato dall'open source da quando ho clonato il repository da github. Quindi il push sarà come: git push origin [email protected]: repo.git? – chopi321

+0

Se il repository github è il punto da cui è stato clonato, il repository è probabilmente "origin", quindi fai ciò che dice Tass, ma sostituisci "github" con "origin" (e, naturalmente, sostituisci "private" con il nome del repository privato) . Vedi http://www.kernel.org/pub/software/scm/git/docs/git-remote.html – MatrixFrog

+0

Per i miei amici noob, voglio solo far notare che nella mia esperienza odierna, devi scambiare l'intero repository url per "github" in "git push github master". – CodeWalrus

74

impostare un URL spinta per il telecomando che è diverso dall'URL tiro:

git remote set-url --pushorigin[email protected]:repo.git

questo cambia l'impostazione di configurazione remote.name.pushurl. Quindi git pull estrarrà dall'URL clone originale ma git push invierà all'altro.


Nelle vecchie versioni di Git, git remote set-url non ha avuto l'interruttore --push. Senza di esso, è necessario farlo modificando le impostazioni di configurazione manualmente:

git config remote.origin.pushurl[email protected]:repo.git
+5

+1 esattamente quello che stavo cercando – Tivie

+0

Io uso lo stesso ora. – Reactormonk

+0

Un po 'più esplicitamente: 'git remote set-url --push origine [email protected]: repo.git' – diapir

Problemi correlati