Quelle est la commande Git que vous préférez ? (de préférence, une commande qui gagnerait à être plus connue)
reflog, ça permet de suivre les modifications des extrêmités des branches. Donc potentiellement de revenir en arrière lors d’un changement destructif (rebase, cherry-pick, reset etc.) qui a mal tourné.
Très utile mais peu connue.
bisect
, super pour débusquer une regression, surtout bisect run
avec un test en argument !
reset --hard
:)
J’utilise SmartGIT sur Ubuntu, du coup je n’exécute que rarement les commandes. A part git rebase --interactive
, qui n’est pas géré par SmartGIT.
j’adore git stash…
Mais si c’est classique, elle offre la possibilité de switcher rapidement d’un context à un autre.
git add -p
, je l’utilise constamment, elle me sert à ajouter et à “differ” en même temps.
git commit --amend
Au lieu de faire de nombreux commits de checkpoint et de rebase ma branche avant de la merge dans master, je fais très rapidement un commit pour sauvegarder mon travail en cours, pour l’amend de nombreuses fois ensuite. À ne plus utiliser après le push.
Une autre commande simple, pas indispensable mais pratique : git diff --staged
Comme tout bon trolleur qui se respect : git blame
git rebase -i --autosquash
pour que git analyse mes messages de commit préfixés par fixup!
ou squash!
et réordonne automatiquement mon historique !
git rerere
, autant pour le nom sorti de nulle part, que pour l’utilité dans un workflow à base de rebase
: http://blog.ninja-squad.com/2013/08/30/git-rerere-ma-commande-preferee/
git shortlog -sn
Elle donne le nombre de commit par utilisateur.
Cette commande me surprendra toujours, quand on travaille on ne voit pas les commits passer mais quand on l’exécute on se rend vraiment compte du travail effectué.
git note add -m 'du texte' <commit>
contrairement au tag, le meme texte peut-etre utilise dans plusieur notes.