Shows the commit logs.
List commits that are reachable by following the
parent links from the given commit(s), but exclude commits that are reachable from the one(s) given with a ^ in front of them. The output is given in reverse chronological order by default.
Show commit info only (Author, Date, Commit info)
# Show the sequence of commits (with Author, Date, Commit info only) starting from the current one, in reverse chronological order of the Git repository in the current working directory $ git log
View changes briefly (contains commit SHA and comments only)
# View changes (briefly, contains commit SHA and comments only) $ git log --oneline
Show Commits by A File
查看特定 file 的 code change
Show code diff in each commit in a specified file
# Show the history of a particular file or directory, including differences $ git log -p <path/to/file_or_directory>
列出修改了特定 file 的所有commit
git log --full-history -- [file path] shows the changes of a file and works even if the file was deleted.
$ git log --full-history -- [file path]
If you want to see only the last commit, which deleted the file, use
-1 in addition to the command above. Example:
$ git log --full-history -1 -- [file path]
# Show the last N commits from a certain author: $ git log -n number --author=author
# Show commits between two dates (yyyy-mm-dd): $ git log --before="2017-01-29" --after="2017-01-17"
View Commits by Most Recent
If you want to return a specific number of commits, you can do so using the -n flag. Here’s an example of this flag in action:
git log -n 3
Show Merge Graphes
# Show a graph of commits in the current branch using only the first line of each commit message $ git log --oneline --graph # Show a graph of all commits, tags and branches in the entire repo $ git log --oneline --decorate --all --graph
列出每个commit 的Code Change
$ git log -p
列出特定 Commit 的Code Change
Show code diff in a specified commit
$ git log <commit_SHA> -p
列出每个 Commits 中修改的文件名
List file names with changes in each commit
# Show an overview of which file(s) changed in each commit $ git log --stat