Écrire du code localement, c'est bien. Le versionner, c'est ce qui permet de revenir en arrière, de suivre l'historique des changements et de le partager. Voici le chemin le plus direct entre un dossier de projet et un dépôt GitHub.
Initialiser git localement
Dans le dossier du projet :
git init
Cette commande crée un dossier caché .git qui contiendra tout l'historique. À ce stade, rien n'est encore suivi.
Exclure ce qui ne doit pas être versionné
Avant le premier commit, un fichier .gitignore évite d'envoyer des identifiants ou des fichiers propres à une machine :
/config/config.php
.idea/
.DS_Store
Toujours relire ce qui va être commité avant d'envoyer quoi que ce soit en ligne, même sur un dépôt privé. Un identifiant ou un mot de passe commité une fois reste dans l'historique, même après suppression du fichier.
Premier commit
git add -A
git status # relire la liste avant de valider
git commit -m "Premiere version du projet"
git add -A prépare tous les fichiers non ignorés, git commit enregistre un instantané avec un message qui explique le pourquoi du changement.
Créer le dépôt sur GitHub
Deux options : passer par l'interface web github.com puis lier le dépôt local avec git remote add, ou utiliser l'outil en ligne de commande gh, qui fait tout en une seule commande :
gh repo create mon-projet --private --source=. --remote=origin --push
Cette commande crée le dépôt sur le compte GitHub connecté, l'associe au dossier local comme remote origin, et pousse directement la branche courante.
Les commits suivants
Une fois le dépôt en place, le cycle habituel devient :
git add -A
git commit -m "Description du changement"
git push
Vérifier l'état du dépôt
git status # fichiers modifiés, ajoutés, en attente
git log --oneline # historique des commits
git remote -v # dépôts distants configurés
Public ou privé ?
Un dépôt privé n'est visible que par son propriétaire (et les collaborateurs invités) : adapté pour un projet personnel ou en cours de développement. Un dépôt public est visible par tout le monde, utile pour un portfolio ou un projet open source. Le choix se fait à la création, mais reste modifiable ensuite dans les paramètres du dépôt sur GitHub.