Ho un repository che voglio inserire in Bitbucket e GitHub. È fondamentale che il mio repository sia ospitato da entrambi.
C'è un modo per farlo in Git?
Ho un repository che voglio inserire in Bitbucket e GitHub. È fondamentale che il mio repository sia ospitato da entrambi.
C'è un modo per farlo in Git?
Risposte:
Puoi utilizzare più repository remoti con git. Ma credo che dovrai spingere separatamente in 2 dei tuoi telecomandi.
Ad esempio, se il tuo progetto attualmente punta a github, puoi rinominare il tuo repository remoto corrente in github
:
$ git remote rename origin github
Puoi quindi aggiungere un altro repository remoto, ad esempio bitbucket
:
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
Ora per inviare le modifiche al ramo corrispondente su github o bitbucket puoi farlo:
$ git push github HEAD
$ git push bitbucket HEAD
La stessa regola si applica al pull: è necessario specificare da quale telecomando si desidera eseguire il pull:
$ git pull github your_branch
$ git pull bitbucket your_branch
.ssh/config
file è la chiave per ottenere questa configurazione. Aggiungere una Host github.com
e una Host bitbucket.org
per identificare quale IdentityFile
utilizzare. Quindi non otterrai l'autorizzazione negata per errori nel tentativo di scambiare avanti e indietro tra bitbucket e github. Spero che questo aiuti qualcuno.
Si, puoi farlo. Non è necessario eseguire il push due volte, ma solo una volta per eseguire il push su entrambi i repository remoti. Ho avuto lo stesso problema prima, quindi ho scritto come farlo qui. Git: push to / pull sia da Github che da Bitbucket
Alcune soluzioni EASY .
Questo è il modo più facile da capire, ma lo sforzo maggiore da mantenere.
Iniziamo aggiungendo il nostro nuovo telecomando:
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
Semplice no? Tranne ovviamente ogni volta che effettuiamo modifiche, dobbiamo eseguire il push sia della nostra "origine" originale che del nostro nuovo "bitbucket" remoto:
$ git push origin master
$ git push bitbucket master
Non un sovraccarico enorme, ma sono sicuro che col tempo griderà. Oppure puoi creare un `alias gpob =" git push origin master && git push bitbucket master ".
Con questo metodo, aggiungeremo un URL aggiuntivo alla nostra "origine" remota esistente:
$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date
Molto meno sforzo!
Ovviamente il lato positivo ha una nuvola e, in questo caso, è che mentre possiamo eseguire il push a più URL contemporaneamente, possiamo solo recuperare dall '"origine" originale (puoi cambiarlo, ma non rientra nell'ambito di questo post ).
Infine, per vedere quale telecomando verrà recuperato da:
$ git remote -v show