From 719e4b2780fc3367d4a40c7d9a52a8b1365dcd28 Mon Sep 17 00:00:00 2001 From: Adrien Date: Thu, 29 Dec 2022 11:19:51 +0100 Subject: [PATCH] Update git note --- 20220501191904-git.org | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/20220501191904-git.org b/20220501191904-git.org index 786fb46..4aa98b7 100644 --- a/20220501191904-git.org +++ b/20220501191904-git.org @@ -1,6 +1,6 @@ :PROPERTIES: :ID: e93719b3-088d-4fe7-9ef8-fc9a4fd84827 -:mtime: 20220524205131 +:mtime: 20221229111938 :ctime: 20220501191904 :END: #+title: Git @@ -34,15 +34,15 @@ Pour positionner ~HEAD~ : * Au commit grand-père : ~git checkout HEAD^^~ ou ~git checkout HEAD~2~ ~HEAD~ est /detached/ lorsqu'un /checkout/ est effectué sur un /commit/ et non pas une /branch/. - + Pour forcer le déplacement d'une branche : ~git branch -f ~. Pour retourner en arrière : * Branche locale : ~git reset ~ (position où nous souhaitons être). * Différentes options : - * ~--soft~ : le commit sera supprimé mais les changements seront conservés et /stashed/, + * ~--soft~ : le commit sera supprimé mais les changements seront conservés et /stashed/, * ~--mixed~ (par défaut) : le commit sera supprimé mais les changements seront conservés et /unstashed/, - * ~--hard ~ pour les changements à ne pas conserver. + * ~--hard ~ pour les changements à ne pas conserver. * Branche distante (/remote/) : ~git revert ~ : * Création d'un nouveau /commit/ qui inversera les modifications apportées par le ~~, * Conservation de l'historique, @@ -65,7 +65,7 @@ Pour mettre à jour une branche distante : ~git fetch~ : * Met à jour nos branches distantes (par exemple, origin/main), * Ne met par à jour nos branches locales (par exemple, main), -Pour rapatrier (/fetch/) les branches distantes et les fusionner (/merge/) : ~git pull~. +Pour rapatrier (/fetch/) les branches distantes et les fusionner (/merge/) : ~git pull~. Pour rapatrier (/fetch/) les branches distantes et /rebase/ : ~git pull --rebase~ @@ -74,8 +74,32 @@ Pour créer une branche afin que celle-ci suive une distante : pull~, * La branche existe déjà : ~git branch -u ~ +** Correction +Pour supprimer un fichier du dernier commit non /pushed/ : ~git reset --soft HEAD ~. +Pour commiter la correction d'un précédent /commit/ : +#+BEGIN_SRC shell +git commit --fixup +git rebase -i --autosquash +#+END_SRC + +** Comparaison +Pour comparer deux branches : ~git diff ..~. +Pour comparer un fichier ou un répertoire entre deux branches : ~git diff .. -- ~. +Ajouter l'option ~-w~ à /git diff/ pour ignorer les espaces. + +** Logs +Pour afficher l'historique d'une fonction ou d'un fichier : ~git log -L::~ +Pour afficher les dernières positions de /HEAD/ : ~git reflog~. + * Outils tiers -** Visualisation +** Visualisation de dépôts +*** [[https://github.com/rgburke/grv/][grv]] +Visualisation de dépôts git depuis un terminal. +*** [[https://github.com/o2sh/onefetch][onefetch]] +Informations du dépôt courant au lancement d'un terminal. +*** [[https://github.com/git-up/GitUp][GitUp]] +Application de visualisation de dépôts pour MacOS. +** Visualisation de différences *** [[https://github.com/dandavison/delta][Delta]] Affichage de ~git diff~. *** [[https://github.com/darrenburns/dunk][Dunk]] @@ -88,4 +112,6 @@ Jeu en ligne de commande permettant d'apprendre l'usage de Git. Site permettant l'apprentissage de l'usage de Git. * Références - * + * [[https://martinheinz.dev/blog/43][Advanced Git features you didn't know You needed - Martin Heinz]] + * [[https://medium.com/@porteneuve/getting-solid-at-git-rebase-vs-merge-4fa1a48c53aa][Getting solid at Git rebase vs. merge - Christophe Porteneuve]] + * [[https://medium.com/@porteneuve/mastering-git-reset-commit-alchemy-ba3a83bdfddc][Mastering Git Reset: Commit Alchemy - Christophe Porteneuve]]