Inspect Git history from command line ¶
Examples:
git log --graph --pretty=oneline or ... git log --graph --oneline
Result:
* 57d2adfb1d80f79c40299614448f044fec54b88c Normalize title and description for Image * 641a3608b1f97776526c82319512da79120e7367 Merge branch 'feature/fix-big-images' into develop |\ | * 455400bc743d433be34d7f00806f4f965aa2b7fe changelog updated | * b8a690f1e46af7c20850c046f76380eb0f30a4a6 "fix_big_images": management command to resize big images |/ * b7d2f7d21a19d1715caf3ed9259e9b8fd50ed1a3 Merge branch 'master' into develop |\ | * a896e5173fcb9b0b46e485cb9ab253902d2fd3b8 (tag: v2.1.0, origin/master, origin/HEAD, master) Bump version: 2.0.0 → 2.1.0 * | 4e627c5d33fb61acbf84148ff246a940047d2a13 Merge branch 'feature/upload-images-button' into develop |\ \ | |/ |/| | * 2d35fdb217d3859faa26f9e15fab2e52e1c94816 fix upload images button |/ * 34cb64076f141bb8be7914cc6665d3b4708d50da Filter out inactive images * 3408eeda8fdd527504e1f30ce707f49bed000af1 next/previous image navigation * cb50f0a99ecfc2971469f40f957e6e73bb99b1f3 placeholders prefetching; show spinner during image loading
git log --graph --pretty=short
Result:
| * commit b7d2f7d21a19d1715caf3ed9259e9b8fd50ed1a3 |\ Merge: 4e627c5 a896e51 | | Author: Mario Orlandi <morlandi@brainstorm.it> | | | | Merge branch 'master' into develop | | | * commit a896e5173fcb9b0b46e485cb9ab253902d2fd3b8 (tag: v2.1.0, origin/master, origin/HEAD, master) | | Author: Mario Orlandi <morlandi@brainstorm.it> | | | | Bump version: 2.0.0 → 2.1.0 | | * | commit 4e627c5d33fb61acbf84148ff246a940047d2a13 |\ \ Merge: 34cb640 2d35fdb | |/ Author: Mario Orlandi <morlandi@brainstorm.it> |/| | | Merge branch 'feature/upload-images-button' into develop | | | * commit 2d35fdb217d3859faa26f9e15fab2e52e1c94816 |/ Author: Mario Orlandi <morlandi@brainstorm.it> | | fix upload images button |
Add to each reported commit the list of affected filenames:
git log --graph --stat
result:
| * commit 4d44506dff681ea93af82846570c210aeb90dfb8 | | Author: Alessandra Luppi <aluppi@brainstorm.it> | | Date: Thu May 9 12:31:46 2019 +0200 | | | | [ready for test] #79 e #80: Compilazione formulari: proposta di valori nei campi destinazione del rifiuto e codice e ADR | | | | backend/ajax.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ | | backend/static/backend/js/formulario_admin.js | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- | | backend/static/css/backend.css | 4 ++++ | | backend/templates/admin/change_form.html | 2 ++ | | backend/urls.py | 3 +++ | | 5 files changed, 115 insertions(+), 4 deletions(-) | | * | commit eb6c5f5b95b7749a96223e1e4e342db0ba7d86a1 |/ Author: Mario Orlandi <morlandi@brainstorm.it> | Date: Thu May 9 16:43:16 2019 +0200 | | ssl option added to deployment procedure | | deployment/group_vars/production | 1 + | deployment/group_vars/staging | 1 + | deployment/roles/django/templates/nginx.conf | 24 +++++++++++++++++++++++- | 3 files changed, 25 insertions(+), 1 deletion(-)
See who changed what and when in my_file
git blame my_file --color-by-age
Result:
b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 1) # -*- coding: UTF-8 -*- b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 2) import re b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 3) from django.contrib.auth.decorators import login_required b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 4) from django.http import HttpResponse b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 5) from django.views.decorators.cache import never_cache b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 6) from django import forms 7b07013e (Mario Orlandi 2016-11-24 14:55:38 +0100 7) from django.core.exceptions import PermissionDenied b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 8) from django.http import JsonResponse b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 9) from django.core import serializers cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 10) from django.conf import settings 4d44506d (Alessandra Luppi 2019-05-09 12:31:46 +0200 11) from ecolwaste.utils import prettyprint_queryset, trace c0eda197 (Mario Orlandi 2019-02-13 12:40:18 +0100 12) from .models import Anagrafica 8a442afb (Mario Orlandi 2016-12-09 02:26:46 +0100 13) from .models import Rifiuto 4d44506d (Alessandra Luppi 2019-05-09 12:31:46 +0200 14) from .models import Formulario b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 15) from .models import Cantiere b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 16) from .models import Impianto b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 17) from .models import CategoriaTrasporto ca5dd14d (Mario Orlandi 2018-12-20 16:12:41 +0100 18) from .models import Registro b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 19) from .models import TipoRifiutoPericolosita 83a96257 (Alessandra Luppi 2016-10-28 17:57:44 +0200 20) from .models import AutorizzazioneImpianto 7b07013e (Mario Orlandi 2016-11-24 14:55:38 +0100 21) from .models import AutorizzazioneCantiere cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 22) from .models import AutorizzazioneTrasportatore b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 23) from .models import Cer c1552260 (Mario Orlandi 2016-12-08 18:48:37 +0100 24) from .models import TipoRifiutoDestinazione b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 25) b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 26) cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 27) def assert_ajax_request(request): cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 28) if not settings.DEBUG: cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 29) assert request.is_ajax() cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 30) cabf4e07 (Mario Orlandi 2016-12-10 11:36:33 +0100 31) b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 32) @login_required b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 33) @never_cache b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 34) def cantieri_options(request, anagrafica_id): b217ddce (Mario Orlandi 2016-10-28 14:20:48 +0200 35) ...