Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

create-repo

Un petit script qui automatise une corvée simple : transformer chaque sous-dossier du répertoire courant en repo GitHub à part entière, avec un nommage cohérent.

Cas d'usage typique : un dossier de semaine de cours contenant plusieurs projets, que tu veux publier individuellement sur GitHub sans faire git init + gh repo create à la main pour chacun.

semaine_4/
├── projet_toto/
└── projet_tata/
cd semaine_4/
./create_repo.sh

crée les repos GitHub semaine_4_projet_toto et semaine_4_projet_tata, chacun poussé depuis son sous-dossier respectif.

Ce que fait le script, pour chaque sous-dossier

  1. git init s'il n'y a pas déjà un .git (sinon il le laisse tel quel)
  2. git add . puis un commit "1st commit" (si rien n'a changé, il le signale sans planter)
  3. Vérifie si un repo GitHub du même nom existe déjà :
    • si oui → ajoute le remote et push dessus
    • si non → gh repo create + push

Le script est idempotent : tu peux le relancer plusieurs fois sans dupliquer de repos ni planter sur les commits vides.

Prérequis

  • git
  • GitHub CLI (gh), authentifié via :
    gh auth login
    
  • PowerShell 7+ (pour Windows uniquement)

Installation

Le script doit être exécutable et lancé depuis le dossier parent qui contient les sous-dossiers à publier (pas depuis l'intérieur d'un sous-dossier).

Utilisation ponctuelle

git clone https://github.com/Mathos6/create-repo.git
chmod +x create-repo/create_repo.sh
cd /chemin/vers/ton/dossier/de/projets
/chemin/vers/create-repo/create_repo.sh

Installation en commande globale (create-repos)

./install.sh

Ça copie le script dans ~/.local/bin/create-repos. Si ce dossier n'est pas dans ton PATH, le script d'installation te donne la ligne à ajouter à ton ~/.bashrc / ~/.zshrc.

Une fois installé, depuis n'importe quel dossier contenant des sous-projets :

create-repos

Options

Option Effet
(aucune) Crée les repos en public (par défaut)
--private Crée les repos en privé
create-repos --private

Windows (PowerShell)

Autoriser l'exécution des scripts PowerShell :

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Et installer la commande dans le PATH:

.\install.ps1

Une version équivalente est fournie dans create_repo.ps1 :

.\create_repo.ps1
.\create_repo.ps1 -Private

Mêmes prérequis (git, gh authentifié), pas d'installation particulière nécessaire — il suffit de l'exécuter depuis le dossier parent des projets.

Si tu n'es pas sous Windows nativement, Git Bash ou WSL permettent aussi de lancer directement create_repo.sh.

Limitations connues

  • Le nom du repo est dérivé du nom du dossier courant + nom du sous-dossier (<dossier_parent>_<sous-dossier>) ; pas de personnalisation du pattern pour l'instant.
  • Suppose que tu veux un repo par sous-dossier de premier niveau (pas récursif).
  • Ne gère pas les conflits de nommage GitHub autres que "le repo existe déjà" (ex : nom déjà pris par quelqu'un d'autre si jamais le login n'est pas le bon).

Licence

MIT — fais-en ce que tu veux.

About

A short script

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages