git init
Initialise un depot dans le dossier courant
Exemple pratique
git init # ou avec un nom
git init myproject
developer reference
Référence pratique pour utiliser Git au quotidien avec recherche, copie rapide et impression PDF.
42 commandes visibles
git init
Initialise un depot dans le dossier courant
git init # ou avec un nom
git init myproject
git clone https://github.com/user/repo.git
# dans un dossier précis
git clone <url> myfolder
# dernier commit seulement
git clone --depth 1 <url>
git remote add origin <url>
Relie un depot local a un depot distant
git remote add origin https://github.com/user/repo.git
git status
Affiche les fichiers modifies, indexes et non suivis
git status
git status -s # affichage compact
git add <file>
Ajoute des fichiers a la zone d'index
git add index.html
git add . # toutes les modifications
git add -p # interactif, bloc par bloc
git commit -m "<msg>"
Valide les changements indexes avec un message
git commit -m "feat: add login page"
git commit -am "fix: typo" # indexer et valider les fichiers suivis
git commit --amend
Modifie le dernier commit, son message ou son contenu
Remplace le dernier commit. Coordonnez-vous si le commit est déjà publié.
git commit --amend -m "new message"
# ajouter les fichiers oubliés
git add file.txt && git commit --amend --no-edit
git rm --cached <file>
Retire le fichier de l’index Git ; le fichier local reste. Validez pour arrêter son suivi.
Le prochain commit retire ce fichier du dépôt ; la copie locale reste.
git rm --cached secret.env
git stash
Met de cote les changements non valides
git stash
git stash push -m "wip: login form"
git stash list
Liste tous les stashes
git stash list
git stash pop
Applique un stash et le retire seulement si l’application réussit
Vérifiez les conflits. Git conserve le stash si son application échoue.
git stash pop
git stash pop stash@{2}
git stash apply [stash@{n}]
Applique un stash sans le supprimer
git stash apply stash@{1}
git stash drop [stash@{n}]
Supprime un stash precis
Supprime le stash sélectionné. Sa récupération n’est pas garantie.
git stash drop stash@{0}
git stash branch <branch>
Cree une branche depuis un stash et l'applique
git stash branch feature/login stash@{0}
git branch
Liste les branches locales; -a inclut les branches distantes
git branch
git branch -a
git switch -c <name>
Cree une nouvelle branche et bascule dessus
git switch -c feature/auth
# ancienne syntaxe
git checkout -b feature/auth
git switch <branch>
Bascule sur une branche existante
git switch main
git switch - # branche précédente
git merge <branch>
Fusionne une branche dans la branche courante
git switch main
git merge feature/auth
git merge --no-ff feature/auth # conserver les commits de fusion
git rebase <branch>
Rebase l'historique de la branche sur une nouvelle base
Réécrit l’historique. Coordonnez-vous avant de rebaser une branche partagée.
git switch feature/auth
git rebase main
git rebase -i HEAD~3 # interactif : regrouper ou réordonner
git cherry-pick <hash>
Applique un commit precis sur la branche courante
git cherry-pick a3f1c2e
git cherry-pick a3f1c2e^..b7d9e0f # intervalle de commits
git branch -d <branch>
Supprime une branche seulement si elle est deja fusionnee
git branch -d feature/auth
git branch -D feature/auth # suppression forcée
git remote -v
Liste tous les remotes avec leurs URL
git remote -v
git fetch [remote]
Recupere les mises a jour sans fusion
git fetch origin
git fetch --all
git pull
Recupere puis fusionne la branche distante
git pull
git pull --rebase # avec rebase
git push <remote> <branch>
Envoie les commits vers le depot distant
git push origin main
git push -u origin feature/auth # définir le suivi distant
git push --force-with-lease
Force push plus sur; echoue si le distant a de nouveaux commits
Réécrit l’historique distant. Vérifiez la branche et l’état distant attendu.
git push --force-with-lease
git log --oneline --graph
Historique compact avec graphe des branches
git log --oneline --graph --decorate
git log -5 --oneline # 5 derniers commits
git log -S "<string>"
Trouve les commits qui ajoutent ou suppriment une chaine
git log -S "apiKey" --oneline
git blame <file>
Affiche qui a modifie chaque ligne d'un fichier
git blame src/main.py
git blame -L 10,20 src/main.py
git reflog
# récupérer un commit perdu
git checkout HEAD@{2}
git restore <file>
Annule les changements locaux non indexes
Abandonne les modifications non indexées du fichier. Git peut ne pas les récupérer.
git restore index.html
git restore . # tous les fichiers
git restore --staged <file>
Retire de l'index en gardant les changements
git restore --staged secret.env
git reset HEAD~1
Annule le dernier commit en gardant les changements
Le reset mixed conserve les fichiers mais vide l’index. --hard abandonne aussi les modifications suivies.
git reset --soft HEAD~1 # garder les modifications indexées
git reset HEAD~1 # désindexer, garder les fichiers
git reset --hard HEAD~1 # DÉTRUIT les modifications locales
git revert <hash>
Cree un commit qui annule un autre commit, sur pour les remotes
git revert a3f1c2e --no-edit
git clean -fd
Supprime les fichiers et dossiers non suivis; irreversible
Supprime définitivement les fichiers et dossiers non suivis. Prévisualisez avec git clean -nd.
git clean -fdn # aperçu
git clean -fd
git diff
Changements non indexes
git diff
git diff src/main.py
git diff --staged
Changements indexes prets a etre valides
git diff --staged
git diff <branch1> <branch2>
Compare deux branches
git diff main feature/auth
git diff --name-only main feature/auth
git config --global user.name "<name>"
Definit le nom utilisateur global
git config --global user.name "Enzo"
git config --global user.email "<email>"
Definit l'email utilisateur global
git config --global user.email "enzo@example.com"
git config --global alias.<name> "<cmd>"
Cree un alias pour une commande
# git lg = historique graphique
git config --global alias.lg "log --oneline --graph --decorate"
git config --list
Affiche toute la configuration active
git config --list --show-origin
Utilisez git restore --staged <file>. Pour arrêter le suivi en gardant la copie locale, utilisez git rm --cached <file> puis validez la suppression.
Utilisez Imprimer PDF. La version imprimable comprend toutes les commandes et les exemples, même dans les sections masquées par la recherche.
Oui. Servez les fichiers statiques avec un serveur HTTP local. Recherche, filtres et copie fonctionnent dans le navigateur ; le test Regex nécessite un contexte HTTP autorisant les workers.