Quelques commandes Git qu’elles sont bien 2


Parce que quand y a plus de git, y en a encore.

Ajout interactif

Vous avez fait plusieurs modifications sur un fichier, mais vous voulez seulement en commiter une partie.

git add -p

Récupérer un fichier d’une autre branche

Vous avez une modif sur une autre branche, et vous voulez juste celle là.

git checkout-- checmin/vers/fichier

Ne jamais commiter les changements d’un fichier

C’est un peu un.gitignore, mais pour un fichier qui est déjà dans le repo. Cette commande demande à git d’ignorer toute modification d’un fichier, même si il est déjà suivi.

git update-index --assume-unchanged fichier

Créer une branche sans historique

Parceque fois, vous avez juste besoin de repartir à zéro, mais garder le même repo.

git checkout --orphan

Vérifier ce qu’on va commiter

Vous avez fait plein de add, mais vous voulez voir le diff de ce qui va être commité.

git diff --staged

2 thoughts on “Quelques commandes Git qu’elles sont bien

  • kontre

    Perso, pour les commits (et pour voir l’historique) j’utilise gitg. (bouh, c’est pas de la ligne de commande !)
    Il permet de visualiser directement les changements à commiter, permet de choisir facilement quelles parties du fichier sont à placer dans un commit, etc… C’est pour moi beaucoup plus clair qu’en ligne de commande, il y a toutes les infos directement sous les yeux.

    Par contre, il y a des bugs un peu chiants. Notamment, ne commitez pas un merge avec gitg (rine n’est pardu mais en gros le commit ne valide pas le merge). Il y a aussi des fichiers qui apparaissent en double dans la liste des modifs. Pour l’utilisation que j’en fais, les avantages dépassent largement les inconvénients !

  • kazé

    Rhaaa, le |git diff –staged| est pile ce qui me manquait. Merci pour l’article !

    Comme client git interactif, plutôt que gitg j’utilise tig. C’est du ncurses, on reste dans le term. Pratique, notamment pour les |git blame|.

Leave a comment

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.