让我们假设我有一个Git存储库,看起来像这样:
foo/
.git/
A/
... big tree here
B/
... big tree here
有没有办法让git日志只显示特定目录的日志消息?例如,我想看看什么提交触摸文件在foo/A只。
让我们假设我有一个Git存储库,看起来像这样:
foo/
.git/
A/
... big tree here
B/
... big tree here
有没有办法让git日志只显示特定目录的日志消息?例如,我想看看什么提交触摸文件在foo/A只。
当前回答
输入
git log .
从特定的目录。它还提供了该目录下的提交。
其他回答
如果你想看到图形化,你可以使用gitk:
gitk -- foo/A
为了跟踪文件夹移动的文件夹的更改,我开始使用:
git rev-list --all --pretty=oneline -- "*/foo/subfoo/*"
这并不完美,因为它会抓取其他具有相同名称的文件夹,但如果它是唯一的,那么它似乎可以工作。
输入
git log .
从特定的目录。它还提供了该目录下的提交。
从目录foo/,使用
git log -- A
你需要用“——”来分隔<path>..从<since>..< >直到refspecs。
# Show changes for src/nvfs
$ git log --oneline -- src/nvfs
d6f6b3b Changes for Mac OS X
803fcc3 Initial Commit
# Show all changes (one additional commit besides in src/nvfs).
$ git log --oneline
d6f6b3b Changes for Mac OS X
96cbb79 gitignore
803fcc3 Initial Commit
你可以将git log与相应文件夹的路径名一起使用:
git log A B
日志将只显示在A和b中的提交,我通常会使用——stat来使事情看起来更漂亮,这有助于快速提交检查。