Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Git view the submission history


May 25, 2021 Git


Table of contents


Git view the submission history

After submitting several updates using Git, or cloning an item, we can use the git log command to review the commit history.

For our actions in the previous section, the history submission records are listed using the git log command as follows:

$ git log
commit 88afe0e02adcdfea6844bb627de97da21eb10af1
Merge: 14b4dca d7e7346
Author: w3cschool <[email protected]>
Date:   Sun Mar 1 15:03:42 2015 +0800

    Merge branch 'change_site'
    
    Conflicts:
        test.txt

commit 14b4dcadbdc847207651d5a9fae0d315057f346e
Author: w3cschool <[email protected]>
Date:   Sun Mar 1 14:53:15 2015 +0800

    新增加一行

commit d7e734640da06055e107eaf29cf350b3f1de1c2c
Author: w3cschool <[email protected]>
Date:   Sun Mar 1 14:48:57 2015 +0800

    changed the site

commit 556f0a0637978097b82287ac665a717623b21f3f
Author: w3cschool <[email protected]>
Date:   Sun Mar 1 14:40:34 2015 +0800

    removed test2.txt

We can use the --oneline option to see a concise version of the history.

$ 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.cn

What this tells us is the development history of this project.

We can also use the --graph option to see when branches and merges have occurred in history. T he following is the same command that turns on topology options:

$ 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.cn

Now we can see more clearly when work is forked and when it comes together.

You can also use the '-reverse' parameter to display all logs in reverse.

$ git log --reverse --oneline
85fc7e7 test comment from w3cschool.cn
048598f add test.txt
2e082b7 add test2.txt
556f0a0 removed test2.txt
d7e7346 changed the site
14b4dca 新增加一行
88afe0e Merge branch 'change_site'

If you only want to find the commit log for the specified user, you can use the command: git log --author, for example, for example, we're looking for the part of the Linus commit in the Git source code:

$ 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

If you want to specify a date, you can perform several options: --since and --before, but you can also use --until and --after.

For example, if I want to see all commits in a Git project three weeks ago and after April 18, I can do this (I also used the --no-merges option to hide merge commits):

$ 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"

More git log commands can be viewed at: http://git-scm.com/docs/git-log