git 日志
如果您使用Git一段时间,则应该遇到git log。 众所周知,git log是一个简单的命令,可以帮助我们
查看更改或项目历史记录。
即使如此简单,它仍然是一个非常强大的工具,它带有许多选项,可以帮助我们查看项目更改及其结构。 我们将在本文中看到一些最常用的选项。
git log —单行
gitlog --oneline
此命令可帮助您以更简洁的方式查看提交。 它会将每次提交压缩到一行,并且只有很少的信息,例如较短的提交哈希,提交消息。
按时间段过滤提交
这些命令将按给定的时间间隔过滤提交。 例如, – after将仅在给定时间段之后进行提交,而– before将仅在给定时间段之前进行提交。
gitlog --after= "2020-15-05"
上面的命令将仅显示2020年5月15日之后的提交
gitlog --after= "2020-15-05" --before= "2020-25-05"
上面的命令将仅显示5月15日至5月25日的提交
您还可以使用以下日期格式
gitlog --after= "yesterday" // shows only commits from yeserday
git log --after= "today" // shows only today commits
git log --before= "10 day ago" // omits last 10 days commits
git log --after= "1 week ago" //show only commits from last week
git log --after= "2 week ago"
git log --after= "2 month ago" // shows only last 2 months commits
git日志与差异更改
gitlog -p
此命令将显示具有差异更改的日志。 这样您就可以知道每次提交中所做的更改。
在上图中,您可以看到git diff的变化。
按作者过滤提交
gitlog --author= "Srebalaji"
上面的命令将过滤掉特定对象所做的提交
作者。 请注意,Git按正则表达式模式过滤掉。 所以不用担心
有关确切名称匹配或区分大小写的信息。
Git日志可以采用多个选项,因此您可以根据需要组合选项。 例如,
gitlog --after= "1 week ago" --author= "srebalji" -p
上面的命令将过滤各自作者过去一周的提交,并显示差异更改。
通过日志消息过滤提交
有时,您需要通过日志消息过滤提交。 Git接受一个
regex模式以搜索日志消息并显示所有
匹配的提交。
gitlog --grep= "ISSUE-43560"
上面的命令将按各自的模式过滤提交。 并且请记住,默认情况下它区分大小写。
要使搜索不区分大小写 ,可以传递-i参数
gitlog -i --grep= "issue-43560"
下面的命令正在使用正则表达式模式搜索,并将搜索两个问题ID。
gitlog -i --grep= "issue-43560\|issue-89786"
按文件过滤提交
有时,您需要进行所有已影响某些特定文件的提交更改。 这将在许多地方出现。
gitlog main.rb
该命令将过滤对相应文件进行更改的提交。
您还可以将多个文件传递给它。
gitlog main.rb search.rb login.rb
您可以看到我已经传递了三个文件进行过滤。
请记住,您还可以传递多个选项。
gitlog -i --grep= "fix " main.rb search.rb
该命令将过滤出对指定文件所做的提交更改,还将通过给定的搜索模式匹配日志消息。
按文件内容过滤提交
您可能需要在提交历史中添加的源代码中搜索特定的字符串。 这可以通过
gitlog -S "function login()"
上面的命令将搜索字符串“ function login()”。 默认情况下,区分大小写。
您可以通过添加-i使其不区分大小写。 要查看内容,您可以查看差异更改。
gitlog -i -S "function login()" -p
仅显示合并提交
此命令有助于我们了解对当前分支所做的合并。
gitlog --merges
上面的命令将仅显示当前分支中的合并提交。 而已。
显示分支之间的差异
我们已经在以前的问题之一中看到了此命令。
gitlog master..develop
该命令将帮助您显示来自development的所有提交,但是
在master分支中不存在。 这样,您可以知道
许多新的提交被添加到了不存在的开发分支中
主分支。 并确保您在
比较之前是本地的。
自定义格式日志消息
Git还提供了用于自定义日志消息格式的选项。 您可以查看自定义漂亮选项以获得更多选项。
例如,
gitlog --pretty=format: "%Cred%an - %ar%n %Cblue %h -%Cgreen %s %n"
您可以在上图中看到提交日志是自定义的
格式化。 这很容易,如果您想查看,它会派上用场
仅日志的特定详细信息。
翻译自: https://hackernoon.com/ten-useful-git-log-tricks-7nt3yxy
git 日志