如何获取git日志--从关注到尊重--跳过?
当使用git log--skip=1时,当我使用如何获取git日志--从关注到尊重--跳过?,git,Git,当使用git log--skip=1时,当我使用--follow时,它似乎会抑制--skip=1 为什么会这样?这是设计还是一个bug 有没有办法防止它这样做 目前还不清楚这是“bug”还是“feature” --follow禁止--skip不是真的。这个问题更为根本,与git log的工作方式有关 与任何遍历提交图的Git命令一样,Git log必须遍历图,一次提交一次。它使用可以包含任意数量(包括零)的提交的优先级队列来实现 优先级队列只保存提交哈希ID。运行时: git log <a
--follow
时,它似乎会抑制--skip=1
目前还不清楚这是“bug”还是“feature”
--follow
禁止--skip
不是真的。这个问题更为根本,与git log的工作方式有关
与任何遍历提交图的Git命令一样,Git log
必须遍历图,一次提交一次。它使用可以包含任意数量(包括零)的提交的优先级队列来实现
优先级队列只保存提交哈希ID。运行时:
git log <arguments> <commit-specifier-A> <commit-specifier-B>
git日志
(例如,git log master develope
),git将给定的提交说明符转换为散列ID,并将所有这些散列ID输入优先级队列。如果不提供提交说明符,Git将查找头的散列ID
,并将该(单个)提交散列放入优先级队列
git日志
代码现在进入其主循环,即:
--no walk
或--first parent
),将适当的父哈希集放入优先级队列(前提是它们尚未被访问和/或不在优先级队列中)--skip
操作会影响步骤2:如果skip计数非零,git log
会减少skip计数并继续执行步骤3,因此不会显示提交。实际上,提交是“无趣的”(但跳过计数递减)。一旦跳过计数达到零,就不会跳过任何提交:所有提交都将进入“IsThisCommitInterest”测试
其他日志选项,如用于简化历史记录的选项或您在此处关注的--follow
选项,也会影响步骤2,但仅在跳过>0
测试之后:提交仅在满足某些条件时才有意义
对于--follow
,标准(单数)是Git正在检查的(单个)文件路径名是否由提交的父级和提交之间的差异产生。对于只有一个父级的普通(非合并)提交,这个问题比合并提交更容易回答。但是,这里的要点是“基于--follow
显示或跳过此提交”测试发生在跳过计数的测试和减量之后,而不是之前
如果在“IsThisCommitInterest”测试之后应用了“TestandDecrementSkipCount”测试,那么它将按照我认为您想要的方式运行。但是它没有,所以它没有。对于那些希望
--skip
统计提交而不是感兴趣的提交的人来说,这是一项功能。对于那些想通过跳过来计算有趣的提交而不是提交的人来说,这是一个bug。不清楚这是“bug”还是“功能”
--follow
禁止--skip
不是真的。这个问题更为根本,与git log的工作方式有关
与任何遍历提交图的Git命令一样,Git log
必须遍历图,一次提交一次。它使用可以包含任意数量(包括零)的提交的优先级队列来实现
优先级队列只保存提交哈希ID。运行时:
git log <arguments> <commit-specifier-A> <commit-specifier-B>
git日志
(例如,git log master develope
),git将给定的提交说明符转换为散列ID,并将所有这些散列ID输入优先级队列。如果不提供提交说明符,Git将查找头的散列ID
,并将该(单个)提交散列放入优先级队列
git日志
代码现在进入其主循环,即:
--no walk
或--first parent
),将适当的父哈希集放入优先级队列(前提是它们尚未被访问和/或不在优先级队列中)--skip
操作会影响步骤2:如果skip计数非零,git log
会减少skip计数并继续执行步骤3,因此不会显示提交。实际上,提交是“无趣的”(但跳过计数递减)。一旦跳过计数达到零,就不会跳过任何提交:所有提交都将进入“IsThisCommitInterest”测试
其他日志选项,如用于简化历史记录的选项或您在此处关注的--follow
选项,也会影响步骤2,但仅在跳过>0
测试之后:提交仅在满足某些条件时才有意义
对于--follow
,标准(单数)是指Git正在检查的(单个)文件路径名是否由提交的父文件和提交之间的diff生成。对于只有一个父级的普通(非合并)提交,这个问题比合并提交更容易回答。但是,这里的要点是“基于--follow
显示或跳过此提交”测试发生在跳过计数的测试和减量之后,而不是之前
如果在“此提交是否有趣”t之后应用了“测试和减量跳过计数”测试