2012-02-20 6 views
5

Ho un progetto HG ospitato su Bitbucket e voglio spostarlo su Github.Come importare un progetto Bitbucket in Github su Windows

Ho seguito il guideline qui per installare l'estensione hg-git, sul mio TortoiseHG.

Ho creato un repository su Github, ma non l'ho ancora inizializzato (visualizza quella pagina di istruzioni), quindi non posso clonare quel repository git.

Cosa devo fare dopo?

MODIFICA: Mi dispiace dimenticare di aggiungere che quindi utilizzerò git da quel momento in poi.

AGGIORNAMENTO: ho preso in prestito un mac e l'ho convertito usando fast-git-import senza problemi. Se qualcuno ha provato le soluzioni sotto e ha lavorato sotto Windows, vota abbastanza, e io farò la risposta.

+0

Non farlo - soffrirai ... –

risposta

3

appena scoperto la mia domanda è un duplicato di Converting a Mercurial (hg) repository to Git on Windows (7).

Funziona bene. Poiché è tutto sotto Cygwin, non è necessario utilizzare lo spettacolo.

In aggiunta alla risposta a questa domanda. Ho solo bisogno di generare una chiave sotto Cygwin usando ssh-keygen -t rsa. Ho quindi copiato il contenuto della chiave pubblica in .ssh/id_rsa.pub nell'impostazione del repository Github.

Ho impostato l'origine git all'indirizzo Gihub di git remote add origin (repo address). Quindi finalmente posso git push origin master --force su Github.

2

È necessario completare lo hg-git process (come un hg gexport) localmente sulla stazione di lavoro.

Poi, quando si dispone di un repo git mirroring tuo repo iniziale Hg, allora si può aggiungere un'origine GitHub, e spingerlo ad esso:

git remote add origin https://github.com/user/yourProject.git 
git push origin master 
git push --all 

Tuttavia, i commenti pigro Badger, e giustamente, che la OP potrebbe voler utilizzare solo Mercurial per questo processo e non installare affatto Git.

In questo caso, la pagina "hg-git on GitHub" contiene:

Se si parte da un repository Hg esistente, è necessario impostare un repository Git da qualche parte che si ha accesso push to, aggiungerlo come predefinito percorso o percorso push predefinito nel .hg/hgrc e quindi eseguire hg push all'interno del progetto.
Per esempio:

$ cd hg-git # (an Hg repository) 
$ # edit .hg/hgrc and add the target git url in the paths section 
$ hg push 

Questo convertirà tutti i dati Hg in oggetti Git e spingerli fino al server Git.

+0

OP hanno ** Mercuriale, non git ** –

+0

Ho provato 'hg gexport' ma la cartella' .git' non è stata creata. Il link che hai citato non parla di "hg export". Puoi approfondire un po 'di più? – lulalala

+0

@LazyBadger: OP ha entrambi se vuole convertire un repository Mercurial in uno git. – VonC

1

In ipotesi, che VCS di base è ancora Mercurial e lo strumento - TortoiseHg

  1. Bisogna avere pronto Git-repo (vuoto, pushable dal locale)
  2. Se sono stati aggiunti e lavorando (i.e configurato correttamente - può pull | push con Github) hg-git, devi aggiungere Git-URL nella sezione (locale) repo hgrc ([percorsi])
  3. aggiungi chiavi OpenSSH a Github, verifica l'autorizzazione basata su chiave in THG (concorso)
    • per quanto ne so, solo git+ssh://[email protected]/user/repo.git URL funziona per github da hg-git
  4. Dopo che avrete due collegato remoto pronti contro termine, sia per voi che sarete in grado di spingere/tirare dalla scheda Sincronizza

Supplementi

parti rilevanti da mercurial.ini, git e GitHub legati

[ui] 
... 
ssh = "...\TortoisePlink.exe" 
... 
[auth] 
github.com.prefix = github.com 
github.com.username = lazybadger 

può dire nulla di ultima sezione, basta ricordare nulla per "quando" e "perché"

+0

Ho creato la chiave OpenSSH usando git-bash ma non posso caricarla in pageant. Penso che pageant carichi solo le chiavi private di stucco? – lulalala

+0

@lulalala - sì, devi creare putty-keypair con Puttygen o importare la chiave OpenSSH (?!) In Puttygen e salvare come stucco –

+0

Cool ora ho le chiavi impostate, ho provato a spingerlo in Sincronizza: mi ha dato il messaggio di errore 'creazione e invio di dati ... [comando codice restituito 255 Mon Feb 20 22:04:23 2012]' – lulalala