首页 文章

如何显示git repo的子目录的git log history?

提问于
浏览
161

让我们说我有一个看起来像这样的git repo .

foo/
  .git/
  A/
   ... big tree here
  B/
   ... big tree here

有没有办法让git log只显示特定目录的日志消息 . 例如,我想查看提交仅在foo / A中触摸文件的内容?

5 回答

  • 14

    如果您需要所有已更改文件的完整差异, git log -p 非常有用 .

    示例:显示特定版本范围内的所有详细更改

    git log -p 8a5fb..HEAD -- .
    
    commit 62ad8c5d
    Author: Scott Tiger
    Date:   Mon Nov 27 14:25:29 2017 +0100
    
        My comment
    
    ...
    @@ -216,6 +216,10 @@ public class MyClass {
    
    +  Added
    -  Deleted
    
  • 165

    您可以将 git log 与相应文件夹的路径名一起使用:

    git log A B

    该日志仅显示 AB 中的提交 . 我通常会抛出 --stat 以使事情变得更漂亮,这有助于快速提交审核 .

  • 0

    如果你想以图形方式看到它,你可以使用

    gitk -- foo/A
    

    enter image description here

  • 21

    输入

    git log .

    从特定目录,它还提供该目录中的提交 .

  • 22

    从目录 foo/ ,使用

    git log -- A B
    

    您需要'--'将 <path>..<since>..<until> refspecs分开 .

    $ git log --oneline -- src/nvfs
    d6f6b3b Changes for Mac OS X
    803fcc3 Initial Commit
    
    $ git log --oneline 803fcc3 -- src/nvfs
    803fcc3 Initial Commit
    
    $ git log --oneline
    d6f6b3b Changes for Mac OS X
    96cbb79 gitignore
    803fcc3 Initial Commit
    

相关问题