Skip to content

Instantly share code, notes, and snippets.

@Magikh42
Last active June 26, 2019 04:59
Show Gist options
  • Save Magikh42/74cd48103fecfa7a6a711b1066ba22b9 to your computer and use it in GitHub Desktop.
Save Magikh42/74cd48103fecfa7a6a711b1066ba22b9 to your computer and use it in GitHub Desktop.
Automatically migrate repositories

Salut ! Dans votre CV vous avez peut être mis un lien vers votre GitHub Et du coup vous souhaitez push vos projets Epitech Si vous ne l'avez pas fait j'ai créé un script pour automatiser la migration de vos repos

Prérequis:

ezblih: https://github.com/Rikette/ezblih (installation via NPM)

Créez un dossier ~/ezblih

Dedans créez un fichier .env avec

BLIH_EMAIL=prenom.nom@epitech.eu
BLIH_PASSWORD=password

Si vous ne retiez pas le password après faites attention à bien lock votre PC :)

Utilisation:

Remplacer YOUR_TOKEN par votre token préalablement généré (https://github.com/settings/tokens) Remplacer LOGIN par pernom.nom[@epitech.eu] Remplacer USERNAME par votre username GitHub

Si ce n'est pas déjà fait rentrez votre clé SSH sur GitHub (https://github.com/settings/keys)

Une fois exécuté le script vous demande un nom pour chaque projet, ce nom sera le nom du dossier dans lequel il va être cloné ainsi que le nom du repository sur GitHub Ne rien rentrer vous permet de skip le projet (français, projets ratés, etc...)

Limitations:

Ce script ne prendra que les projets pour lesquels vous étiez chef de groupe, pour les autres il vous faudra les push manuellement Je vous conseille aussi de regrouper tout vos CPool days pour plus de clarté (pas géré par le script)

Download:

https://gist.github.com/Magikh42/74cd48103fecfa7a6a711b1066ba22b9

En espérant que ce script vous soit utile :) Je suis dispo en DM pour toute question ^^

#!/usr/bin/env bash
# author: @magikh42
# description: script for migrating repositories
blih="ezb" # Please install ezblih: https://github.com/Rikette/ezblih
source="git@git.epitech.eu:/LOGIN@epitech.eu"
github="git+ssh://git@github.com/USERNAME"
token="YOUR_TOKEN"
for repo in `$blih list`
do
echo ">>> moving $repo <<<"
echo -n "project name: "
read name
git clone $source/$repo $name/
echo "creating github repository"
curl -H "Authorization: token "$token"" --data '{"name": "'$name'"}' https://api.github.com/user/repos
( cd $name/ && git remote add github $github/$name && git push -f github )
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment