你们都熟悉git log帮助历史简化的例子和详细说明吗? 在使用本帮助/手册和命名示例时,我遇到了一些理解上的负担。
.-A---M---N---O---P---Q
/ / / / / /
I B C D E Y
\ / / / / /
`-------------' X
- 我是初始提交... foo存在内容“asdf”,并且文件quux存在,内容为“quux”....
- 在A中,foo只包含“foo”......
- B包含与A ...相同的更改
- C不会改变foo,但它的合并N会将其更改为“foobar”......
- P是TREESAME到O ...
看起来在单个文件/目录的范围内可以看到术语TREESAME和!TREESAME。不得用于表示多个文件的提交属性。这是真的吗?
答案 0 :(得分:1)
描述中的TREESAME表达式应用于每个提交的树(在比较时成对)在从git log
命令执行任何特定于文件的过滤后。例如:
git log --simplify-merges
比较每棵树中的每个文件以确定两个提交树是否“相同”,而:
git log --simplify-merges -- README
仅比较每棵树中的README
文件,并且:
git log --simplify-merges -- README dir1 dir2
在比较树之前,留下README
以及树中两个目录中的所有文件。