Outils pour utilisateurs

Outils du site


dev:git:git_log_gestion_historique

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:git:git_log_gestion_historique [2023/09/19 07:43] – ↷ Nom de la page changé de dev:git:historique à dev:git:git_log_gestion_historique yoanndev:git:git_log_gestion_historique [2023/09/19 10:37] (Version actuelle) yoann
Ligne 1: Ligne 1:
 {{tag>git log historique}} {{tag>git log historique}}
 +
 +:TODO_DOCUPDATE:
  
 ====== Historique git ====== ====== Historique git ======
 +
 +Git est un gestionnaire de révision ou **CVS**((Control Revision System)), son principal objectif est de conserver l'historique des modifications apportées à un projet. C'est en consultant cet historique qu'on sera en mesure par exemple :
 +  * De savoir qui à contribuer à quoi ;
 +  * De déterminer où des bugs ont été introduits ;
 +  * D' annuler des modifications problématiques etc.
  
 La principale commande permettant de consulter l'historique d'un projet git est la commande **git log**. La principale commande permettant de consulter l'historique d'un projet git est la commande **git log**.
 +
 +Les arguments (ou options) disponibles pour la commande **git log** se répartissent en deux catégories :
 +  * La mise en forme des enregistrements ou formatage de l'affichage ;
 +  * Le filtrage des enregistrements.
 +
 +
 Quelques options largement utilisées: Quelques options largement utilisées:
  
-^ **%%--name-status%%** | affiche pour chaque commit les fichiers modifiés. | +^ **%%--name-status%%** | affiche pour chaque commit le nom des fichiers modifiés. | 
-^ **%%--oneline%%** | Affiche seulement le titre du commit. | +^ **%%--oneline%%** | Affiche sur une seule ligne lesi nformations essentielles du commit. | 
-^ **%%--decorate%%** | Affiche les références(pointeurs). |+^ **%%--decorate%%** | Affiche les références(pointeurs tags et branches). |
 ^ **-p** | Affiche le patch appliqué par chaque commit. | ^ **-p** | Affiche le patch appliqué par chaque commit. |
 ^ **%%--stat%%** | Affiche pour chaque fichier modifié les statistiques. | ^ **%%--stat%%** | Affiche pour chaque fichier modifié les statistiques. |
-^ **%%--graph%%** | A utiliser avec **%%--oneline%%** pour visualiser le graph des commits. |+^ **%%--graph%%** | Souvent utilisé avec **%%--oneline%%** pour visualiser le graph des branches. | 
 + 
 + 
 +===== Formater la sortie ===== 
 + 
 +L'option **%%--pretty%%** permet de choisir une mise en forme parmi celles disponibles. On peut toutefois précisément décrire le format de la sortie avec la syntaxe **%%--pretty=format:"fstring"%%** où fstring est une chaine de type printf(): 
 + 
 +^ %H  | SHA-1, Condensat complet du commit   | 
 +^ %h  | SHA-1, condensat abrégé du commit    | 
 +^ %T  | SHA-1, condensat de l'arborescence   | 
 +^ %t  | SHA-1, condensat abrégé de l'arborescence | 
 +^ %P  | SHA-1, Condensat complet des parents | 
 +^ %p  | SHA-1, Condensat abrégé des parents 
 +^ %an | Nom de l'auteur                      | 
 +^ %ae | email de l'auteur                    | 
 +^ %ad | Date renseignée par l'auteur (au format spécifiée par l'option %%--date=%%) | 
 +^ %ar | Date relative de l'auteur            | 
 +^ %cn | Nom du validateur                    | 
 +^ %ce | Mail du validateur                   | 
 +^ %cd | Date du validateur                   | 
 +^ %cr | Date relative du validateur          | 
 +^ %s  | Sujet du commit                      | 
 + 
 +Le formatage peut également définir des couleurs parmi les couleurs standard : normal, black, red, green, yellow, blue, magenta, cyan et white. 
 + 
 +<code bash> 
 + 
 +</code> 
 + 
 +Pour les terminaux supportant les couleurs 24 bits les couleurs peuvent être décrites par les valeurs hexadécimales des composantes RVB: 
 + 
 +<code bash> 
 +# Utilise un gris %C(#808080) pour le formatage de la date 
 +git --no-pager log --pretty=format:"%C(auto)%h%d - %s %C(#808080)[%ad] %Creset" --graph --all 
 +</code> 
 + 
 +{{git_log_graph_02.png}} 
 + 
 + 
 +Ci dessous un exemple d'affichage en graphe avec affichage personnalisé intégrant des couleurs et une mise en forme de la date : 
 + 
 +<code bash> 
 +git --no-pager log --pretty=format:"%C(auto)%h%d - %s %C(#808080)[%ad] %Creset" --graph --all --date=format:"%d/%m/%y %H:%M" 
 +</code> 
 + 
 + 
 +<note> 
 +On peut [[dev:git:alias|créer un alias]] pour utiliser facilement cette définition . 
 +</note> 
 + 
 + 
 + 
 +===== Filtrer la sortie =====
  
 Pour limiter la sortie aux **n** derniers commit insérer **-n**: Pour limiter la sortie aux **n** derniers commit insérer **-n**:
Ligne 60: Ligne 125:
 ===== Images et graphes ===== ===== Images et graphes =====
  
-ToDo+  * gitk 
 +  * Sourcetree
  
 ===== Références ===== ===== Références =====
Ligne 66: Ligne 132:
   * Pro Git, seconde édition, Scott Chacon et Ben Straub   * Pro Git, seconde édition, Scott Chacon et Ben Straub
   * http://stackoverflow.com/questions/1057564/pretty-git-branch-graphs   * http://stackoverflow.com/questions/1057564/pretty-git-branch-graphs
 +  * [[https://stackoverflow.com/questions/56621554/how-do-i-show-tags-in-a-custom-git-log-format|Comment afficher les références dans un formatage personnalisé (stackoverflow)]]
 +  * [[https://stackoverflow.com/questions/15458237/git-pretty-format-colors|Couleurs avec git pretty format (stackoverflow)]]
  
dev/git/git_log_gestion_historique.1695109417.txt.gz · Dernière modification : 2023/09/19 07:43 de yoann