Aide-mémoire Développement

Aide-mémoire Git

Les commandes Git que vous utilisez vraiment, regroupées par tâche, avec un tableau pour annuler les erreurs habituelles et des habitudes qui gardent l'historique propre.

Dernière vérification:

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Git enregistre des instantanés d'un projet. Trois endroits comptent : l'arbre de travail (vos fichiers), la zone d'index (ce qui ira dans le prochain commit) et le dépôt (l'historique enregistré). La plupart des commandes déplacent des modifications entre eux. Toutes les commandes ci-dessous ont été vérifiées avec une vraie installation de Git.

Commandes par tâche

Configurer

Commande Ce qu'elle fait
git config --global user.name "Ana" Définit le nom enregistré dans vos commits
git init Crée un nouveau dépôt dans ce dossier
git clone <url> Copie un dépôt distant avec son historique

Enregistrer les modifications

Commande Ce qu'elle fait
git status Affiche les fichiers modifiés, indexés et non suivis
git add <file> Indexe un fichier pour le prochain commit (git add -p indexe des morceaux choisis)
git commit -m "message" Enregistre les modifications indexées avec un message
git commit --amend Réécrit le dernier commit (message ou contenu) ; seulement avant de le pousser
git diff Affiche les modifications non indexées (--staged pour les indexées)

Branches

Commande Ce qu'elle fait
git branch Liste les branches (-d nom supprime une branche fusionnée)
git switch <branch> Passe à une autre branche (-c nom la crée d'abord)
git merge <branch> Fusionne une autre branche dans la branche courante
git rebase <branch> Rejoue vos commits au-dessus d'une autre branche (-i édite, fusionne, réordonne)
git cherry-pick <commit> Copie un commit sur la branche courante

Dépôts distants

Commande Ce qu'elle fait
git remote -v Liste les dépôts distants et leurs URL
git fetch Télécharge les nouveaux commits sans toucher à vos fichiers
git pull --rebase Récupère et rejoue vos commits locaux au-dessus (historique plus propre qu'une fusion)
git push -u origin <branch> Publie une branche et la mémorise pour un simple git push
git push --force-with-lease Écrase la branche distante seulement si personne n'a poussé entre-temps

Explorer

Commande Ce qu'elle fait
git log --oneline --graph Historique compact avec les lignes de branches
git show <commit> Affiche un commit et ses modifications
git blame <file> Montre qui a modifié chaque ligne en dernier
git grep "text" Recherche dans les fichiers suivis
git bisect start Recherche dichotomique du commit qui a tout cassé

Annuler

Commande Ce qu'elle fait
git restore <file> Annule les modifications d'un fichier (--staged le retire de l'index)
git revert <commit> Ajoute un commit qui annule un ancien ; sûr pour un historique partagé
git reset --soft HEAD~1 Annule le dernier commit en gardant ses modifications indexées
git reset --hard <commit> Déplace la branche et jette toutes les modifications ultérieures : destructif
git reflog Liste les positions de HEAD ; le chemin de retour après la plupart des erreurs
git clean -fd Supprime fichiers et dossiers non suivis ; essayez -n d'abord

Remisage et étiquettes

Commande Ce qu'elle fait
git stash push -u Met de côté votre travail en cours, fichiers non suivis inclus
git stash pop Restaure le dernier remisage et le supprime
git tag -a v1.0 -m "Release" Marque une version avec une étiquette annotée

Annuler des erreurs

Situation Solution
J'ai modifié un fichier et je veux l'ancienne version git restore <file>
J'ai indexé le mauvais fichier git restore --staged <file>
Le message de mon dernier commit contient une faute git commit --amend
J'ai commité sur la mauvaise branche git switch <bonne-branche>, git cherry-pick <commit>, puis git reset --hard HEAD~1 sur la mauvaise branche
J'ai poussé un mauvais commit que d'autres ont déjà récupéré git revert <commit>
J'ai fait un reset ou un rebase et perdu des commits git reflog, puis git reset --hard <ancien-hash>

Les commandes qui réécrivent l'historique (reset --hard, rebase, push --force) sont sûres sur des commits que vous seul possédez. Une fois que d'autres les ont récupérés, préférez git revert.

Bonnes habitudes

  • Faites de petits commits cohérents avec un message qui dit pourquoi, à l'impératif : « Corrige la redirection de connexion ».
  • Faites un pull ou un fetch avant de pousser et utilisez --force-with-lease plutôt que --force.
  • Gardez les secrets hors du dépôt. Un mot de passe commité reste dans l'historique même si vous supprimez le fichier. Utilisez un .gitignore pour les fichiers de build et locaux : le Générateur de .gitignore en écrit un pour votre stack.
  • Utilisez git status en permanence. Il indique aussi la prochaine commande à lancer.

Voyez Git pour l'idée derrière l'outil et Aide-mémoire de la ligne de commande Linux pour les commandes shell que vous utiliserez à côté.

Essayez ces outils

Voir aussi

  • Glossaire Git
    Git est un système de gestion de versions distribué qui enregistre des instantanés des fichiers d'un projet pour suivre les modifications.
  • Aide-mémoire Aide-mémoire de la ligne de commande Linux
    Commandes de terminal pour fichiers, recherche, texte, processus, disque, réseau et archives, plus tubes, redirections.
AdSense Placeholder
Slot: footer_leaderboard