Déménager son repository de GitHub vers RepositoryHosting

Je suis un gros fan de GitHub. Mais dernièrement il y a eu de légers downtimes qui m’ont un peu frustré parce qu’ils arrivaient au moment même où je m’en servait.

C’est en lisant un post de mes amis de chez QuatreCentQuatre que j’ai entendu parler de RepositoryHosting et de leur fameux forfait à 6$ par mois pour un nombre illimité de repositories (à l’intérieur des limites généreuses de 2 gig).

J’ai essayé ça pendant quelques semaines pour des projets en production. Finalement je trouve que ça fait la job. Donc aujourd’hui j’ai décidé d’enlever mes repositories privés de mon compte GitHub pour les déménager chez RepositoryHosting.

Voici les étapes :

  1. Dans préférence, si ce n’est pas déjà fait, allez ajouter vos clés publiques de vos serveurs de dev [et prod [et staging]]. Pour se faire, dans le terminal, on va commencer par aller chercher sa clé publique. J’ai fait cette vidéo qui explique comment. Mais n’oubliez pas (comme je l’ai fait) de cliquer sur Update Preferences lorsque vous avez ajouté votre clé, car les changements ne prendront effet qu’après ça.
  2. Maintenant, allez créer un nouveau repository dans l’admin de RepositoryHosting.
  3. Là assurez vous que tout vos changements ont été “commit”és et “push”és vers GitHub et que les serveurs (prod ou stage) qui y sont synchronisés ont la même version qu’en dev (votre machine locale).
  4. Sur votre machine de développement, vous allez supprimer la référence au repo sur GitHub en tapant cette commande à partir du terminal (en présumant que vous avez “cd” vers votre dossier de projet) :
    git remote rm origin
  5. Ensuite mettre la nouvelle url (celle fournie lors de la création de votre “repo” chez repositoryhosting) :
    git remote add origin ssh://git@jdesrosiers.repositoryhosting.com/jdesrosiers/nomdurepository.git
  6. Ensuite il faut faire cette ligne de commande :
    git config remote.origin.push refs/heads/master:refs/heads/master
  7. Maintenant on est prêt à envoyer les fichier de notre repository vers le repository vierge qu’on a créé chez RepositoryHosting :
    git push origin master
  8. Maintenant, logguez vous en SSH au serveur de prod et de staging (si vous en avez un) et faites les étapes 4 à 6 mais à partir de votre serveur. Quand vous serez dans le repository sur vos serveurs, faites un peu de config: Éditez le fichier .git/config qui devrait être à la racine de votre projet avec la commande nano .git/config .
    On va éditer cette partie :

    [branch "master"]

    afin que ça ressemble à ceci :

    [branch "master"]
      remote = origin
      merge = refs/heads/master

    Si tout fonctionne, vous devriez être en mesure de faire des changements en dev, de les “commit”, “push” et de les “pull” sur vos autres serveurs maintenant synchronisés avec RepositoryHosting.

13 Apr 2009, 9:10am Uncategorized |