Importer dans github de gitorious?
Question
Quelqu'un at-il essayé ou compris comment importer une prise en pension gitorious en github? J'utilise déjà github et je voulais voir s'il y avait un moyen de tirer d'un repo gitorious que je voulais suivre dans github.
La solution
Comment serait-ce différent de la méthode normale de créer un dépôt sur Github?
- cloner le dépôt de gitorious
- Créer un nouveau dépôt sur GitHub
- Appuyez sur le dépôt jusqu'à github
Github ne se soucie pas où le dépôt provenait en premier lieu, il accepte tout ce que vous poussez à la hauteur.
Autres conseils
Immédiatement après avoir créé un nouveau dépôt sur GitHub, le site vous donne 3 jeux d'instructions personnalisées élégantes. Les 3 options différentes sont:
- Commencer à travailler sur un nouveau projet
- Appuyez sur un dépôt Git existant - c'est celui que vous voulez
- Appuyez sur un dépôt SVN existant
Si mon nom d'utilisateur était utilisateur1 et le nouveau repo a été appelé project1 , voici ce qu'il dirait:
existant Git Repo?
cd existing_git_repo
git remote add origin git@github.com:user1/project1.git
git push -u origin master
Les réponses déjà données vont simplement importer maître - si vous souhaitez importer le repo entier, y compris toutes les branches, étiquettes, etc, vous devez faire ce qui suit:
- Créer un repo github vide
-
Cloner le repo gitorious utilisant le drapeau --bare - cela préserve toutes les branches / tags et ne crée pas une copie de travail:
$ git clone --bare git://gitorious.org/USER/REPO.git
-
Répertoire des changements dans le repo local:
$ cd therepo.git
-
Appuyez sur le repo à GitHub en utilisant le drapeau --mirror - ces copies toutes les branches, étiquettes, histoire etc:.
$ git push --mirror git@github.com:USER/REPO.git
-
Supprimer la copie locale - vous n'avez plus besoin et ce n'est pas une grande utilité pour quoi que ce soit
$ cd .. && rm -rf therepo.git
Une fois que vous avez fait cela, vous pouvez passer des prises en pension locaux à l'aide des commandes comme indiqué git remote rm/add
ci-dessus.
Les réponses précédentes sont correctes, mais voici le processus étape par étape comprenant l'étape manquante de découpler la copie locale de Gitorious; sans elle, vous obtenez l'erreur lorsque vous essayez fatal: remote origin already exists
d'ajouter Github comme nouvelle origine.
- Créer un repo cible vide sur Github
- repo Clone de Gitorious au niveau local
- Supprimer Gitorious comme origine
- Ajouter Github comme nouvelle origine
- Push-to-Github
Commandes:
git clone git://gitorious.org/USER/REPO.git
cd REPO
git remote rm origin
git remote add origin https://github.com/USER/REPO.git
git push --mirror https://github.com/USER/REPO.git
Vous aurez besoin évidemment de remplacer USER et REPO, et les deux dernières commandes sont fournies pour vous après l'étape 1 lorsque vous créez votre repo Github.