2012-02-20 5 views
5

J'ai un projet HG hébergé sur Bitbucket, et je veux le déplacer vers Github.Comment importer un projet Bitbucket dans Github sous Windows

J'ai suivi le guideline ici pour installer l'extension hg-git, sur mon TortoiseHG.

J'ai créé un dépôt sur Github, mais je ne l'ai pas encore initialisé (il affiche cette page d'instructions), donc je ne peux pas cloner ce dépôt git.

Qu'est-ce que je vais faire ensuite?

EDIT: Désolé oublié d'ajouter que j'utiliserai ensuite git à partir de ce moment. MISE À JOUR: J'ai emprunté un mac et l'ai converti en fast-git-import sans douleur. Si quelqu'un a essayé les solutions ci-dessous et a travaillé sous Windows, votez assez haut, et je vais en faire la réponse.

+0

Ne le faites pas - vous allez souffrir ... –

Répondre

3

Je viens de trouver ma question un duplicata de Converting a Mercurial (hg) repository to Git on Windows (7).

Cela fonctionne bien. Comme tout est sous Cygwin, il n'est pas nécessaire d'utiliser le concours.

En plus de la réponse à cette question. J'ai juste besoin de générer une clé sous Cygwin en utilisant ssh-keygen -t rsa. J'ai ensuite copié le contenu de la clé publique dans .ssh/id_rsa.pub au paramètre de référentiel Github.

J'ai défini l'origine git à l'adresse Gihub par git remote add origin (repo address). Puis finalement je peux git push origin master --force sur Github.

2

Vous devez compléter le hg-git process (comme un hg gexport) localement sur votre poste de travail.

Ensuite, lorsque vous avez un git en miroir votre repo initial Hg, vous pouvez ajouter une origine GitHub, et pousser à lui:

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

Cependant, les commentaires Lazy Badger, et à juste titre, que la OP peut vouloir utiliser uniquement Mercurial pour ce processus, et ne pas installer Git du tout.

Dans ce cas, la page « hg-git on GitHub » contient:

Si vous démarrez à partir d'un référentiel Hg existant, vous devez installer un dépôt Git quelque part que vous avez poussée accès à l'ajouter par défaut chemin ou chemin d'accès par défaut dans votre .hg/hgrc, puis exécutez hg push à partir de votre projet.
Par exemple:

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

Cela vous permet de convertir toutes vos données Hg en objets Git et poussez-les au serveur Git.

+0

OP have ** Mercurial, pas git ** –

+0

J'ai essayé 'hg gexport' mais le dossier' .git' n'a pas été créé. Le lien que vous avez mentionné ne parle pas de 'hg export'. Pouvez-vous élaborer un peu plus? – lulalala

+0

@LazyBadger: OP a les deux si il/elle veut convertir un repo Mercurial en un git. – VonC

1

En supposant que VCS de base est toujours Mercurial et outil - TortoiseHG

  1. Vous devez avoir prêt Git-pension (vide, pushable du local)
  2. Si vous avez ajouté et travailler (i.hg-git, vous devez ajouter Git-URL dans la section (locale) repo hgrc ([chemins])
  3. ajouter des clés OpenSSH à Github, vérifier l'autorisation basée sur les clés dans THG (reconstitution historique)
    • AFAIK, seule git+ssh://[email protected]/user/repo.git URL fonctionne pour github de hg-git
  4. Après que vous aurez deux prises en pension liés à distance, pour vous serez en mesure de pousser/tirer de l'onglet Synchronize

Addons

parties pertinentes de Mercurial.ini, git et github liés

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

ne peut rien dire au sujet de la dernière section, rappellent que rien pour « quand » et « pourquoi »

+0

J'ai créé la clé OpenSSH en utilisant git-bash mais je ne peux pas la charger dans pageant. Je pense que pageant ne charge que des clés privées de mastic? – lulalala

+0

@lulalala - oui, vous devez créer putty-keypair avec Puttygen ou importer la clé OpenSSH (?!) Dans Puttygen et enregistrer comme putty –

+0

Cool maintenant j'ai les touches mis en place, j'ai essayé de le pousser dans Synchroniser: Il m'a donné le message d'erreur 'création et envoi de données ... [commande a retourné le code 255 lun. févr. 20 22:04:23 2012]' – lulalala

Questions connexes