Git afficher l'historique des validations
Après avoir utilisé Git pour soumettre plusieurs mises à jour, ou cloné un projet, si vous souhaitez consulter l'historique de soumission, nous pouvons utiliser la commande git log pour l'afficher.
Pour nos opérations du chapitre précédent, utilisez la commande git log pour lister les enregistrements de commit historiques comme suit :
$ git log commit 88afe0e02adcdfea6844bb627de97da21eb10af1 Merge: 14b4dca d7e7346 Author: w3cschool <w3c@w3cschool.cc> Date: Sun Mar 1 15:03:42 2015 +0800 Merge branch 'change_site' Conflicts: test.txt commit 14b4dcadbdc847207651d5a9fae0d315057f346e Author: w3cschool <w3c@w3cschool.cc> Date: Sun Mar 1 14:53:15 2015 +0800 新增加一行 commit d7e734640da06055e107eaf29cf350b3f1de1c2c Author: w3cschool <w3c@w3cschool.cc> Date: Sun Mar 1 14:48:57 2015 +0800 changed the site commit 556f0a0637978097b82287ac665a717623b21f3f Author: w3cschool <w3c@w3cschool.cc> Date: Sun Mar 1 14:40:34 2015 +0800 removed test2.txt
Nous pouvons utiliser l'option --oneline pour afficher une version concise du documents historiques.
$ git log --oneline 88afe0e Merge branch 'change_site' 14b4dca 新增加一行 d7e7346 changed the site 556f0a0 removed test2.txt 2e082b7 add test2.txt 048598f add test.txt 85fc7e7 test comment from w3cschool.cc
Ce que cela nous dit, c'est l'historique du développement de ce projet.
Nous pouvons également utiliser l'option --graph pour voir quand les branches et les fusions se sont produites dans l'historique. Ce qui suit est la même commande, avec l'option de carte topologique activée :
$ git log --oneline --graph * 88afe0e Merge branch 'change_site' |\ | * d7e7346 changed the site * | 14b4dca 新增加一行 |/ * 556f0a0 removed test2.txt * 2e082b7 add test2.txt * 048598f add test.txt * 85fc7e7 test comment from w3cschool.cc
Nous pouvons désormais voir plus clairement quand le travail est bifurqué et quand il est fusionné.
Vous pouvez également utiliser le paramètre '--reverse' pour afficher tous les journaux à l'envers.
$ git log --reverse --oneline 85fc7e7 test comment from w3cschool.cc 048598f add test.txt 2e082b7 add test2.txt 556f0a0 removed test2.txt d7e7346 changed the site 14b4dca 新增加一行 88afe0e Merge branch 'change_site'
Si vous souhaitez uniquement trouver le journal de soumission d'un utilisateur spécifié, vous pouvez utiliser la commande : git log --author Par exemple, disons que nous voulons trouver la partie soumise par Linus dans Git. code source :
$ git log --author=Linus --oneline -5 81b50f3 Move 'builtin-*' into a 'builtin/' subdirectory 3bb7256 make "index-pack" a built-in 377d027 make "git pack-redundant" a built-in b532581 make "git unpack-file" a built-in 112dd51 make "mktag" a built-in
Si vous Pour préciser une date, plusieurs options sont disponibles : --since et --before, mais vous pouvez également utiliser --until et --after.
Par exemple, si je voulais voir tous les commits dans un projet Git datant de trois semaines et après le 18 avril, je pourrais le faire (j'ai également utilisé l'option --no-merges pour masquer les commits de fusion) :
$ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges 5469e2d Git 1.7.1-rc2 d43427d Documentation/remote-helpers: Fix typos and improve language 272a36b Fixup: Second argument may be any arbitrary string b6c8d2d Documentation/remote-helpers: Add invocation section 5ce4f4e Documentation/urls: Rewrite to accomodate transport::address 00b84e9 Documentation/remote-helpers: Rewrite description 03aa87e Documentation: Describe other situations where -z affects git diff 77bc694 rebase-interactive: silence warning when no commits rewritten 636db2c t3301: add tests to use --format="%N"
Plus de commandes git log peuvent être consultées :http://git-scm.com/docs/git-log