2013-02-28 15 views
6

Bitbucket dispone di uno strumento di importazione per l'importazione di archivi da posizioni remote, ma supporta solo il protocollo git://. I nostri repository esistenti si trovano su una macchina controllata dall'azienda dietro un firewall che non posso modificare, e git:// non è disponibile. Devo spostare i repository dalla nostra macchina aziendale a bitbucket, mantenendo intatta la cronologia ei dettagli dal repository originale.Importazione git in due passaggi su ssh

C'è un modo per ottenere questo risultato clonando il repository originale tramite ssh su un computer locale, e quindi spingendo quel repository su un repository appena scoperto su bitbucket? Perderò cronologia o dati in questo modo?

(spero in una risposta che non è bitbucket specifico, ma lavorerà per "spostare" un repository git, in ogni caso.)

risposta

8

Avrai voglia di essere sicuri di avere tutta la storia. Puoi farlo eseguendo prima un clone locale completo.

git clone --mirror git://LOCAL_URL/somerepo.git 

Quindi aggiungere il telecomando e premere come indicato da Timothy. Tuttavia, probabilmente si desidera utilizzare qualcosa di diverso dall'origine per l'alias remoto.

git remote add bitbucket ssh://[email protected]/someuser/somerepo.git 
git push -u bitbucket --all 

Questo potrebbe essere utilizzato per qualsiasi servizio di hosting Git. Sostituisci semplicemente l'URL remoto con qualsiasi cosa desideri.

5

Da quello che so la clonazione dell'intero repo e spingendolo funziona . Bitbucket ha anche il comando per voi:

cd /path/to/my/repo 
git remote add origin ssh://[email protected]/someuser/somerepo.git 
git push -u origin --all # to push changes for the first time 
+0

Utilizzare il comando clone come Marcus ha suggerito se si desidera l'intera cronologia. – Joseph238

-1

Cosa ti fa pensare che supportiamo solo il protocollo git: //? Abbiamo sostenere il protocollo http intelligente e così per esempio si può semplicemente importare https://github.com/jquery/jquery

Così, se il pronti contro termine è accessibile da Internet e lo fa HTTP (S), allora si dovrebbe avere alcun problema utilizzando l'importatore (che fa un clone corretta e conserva la storia).