Git日志输出在特定的修订版本范围内

cae*_*sar 21 git git-log

这是我的问题.如何获取特定路径的2个修订号之间的所有日志消息?让我通过例子解释.

我试着用这一行写它:

git -dir=/home/Desktop/GIT_REFERENCE_REPOSITORIES/manager.git log  10000...15000
Run Code Online (Sandbox Code Playgroud)

我假设它给了我与manager.git相关的10000到15000个修订版的日志消息.但事实并非如此.有人帮我吗?

eck*_*kes 39

修订由其SHA1哈希指定.

如果要查看特定文件的提交,则必须将路径分隔为--:

git log oldhash..newhash -- path/to/inspect
Run Code Online (Sandbox Code Playgroud)

做这个.

另请注意,您使用三个点(...)来指定范围.通常,您只需要两个点.

三个点可能无法给出您期望的结果.正如gitrevisions(指定范围部分)的手册页所说的那样

git log a..b
Run Code Online (Sandbox Code Playgroud)

意味着给我自从a,直到和包括所做的所有提交b(或者,就像手册页所说的那样"包含可以从b访问的提交但排除那些可从a到达的提交"),三点变体

git log a...b
Run Code Online (Sandbox Code Playgroud)

表示"包含可从a或b访问的提交,但排除可从两者访问的提交",这是完全不同的事情.