gpt4 book ai didi

git - Git日志的-r选项有什么作用?

转载 作者:太空狗 更新时间:2023-10-29 12:54:33 26 4
gpt4 key购买 nike

手册页 git-log(1)说:

-r
Show recursive diffs.

所以我们可以换一种方式来提出这个问题:

在此上下文中,“递归差异” 是什么意思。

得到this answer后来自@phd,我做了一些针对指定方向的测试:

如果我在当前版本的 Git 源存储库(最近从 https://github.com/git/git.git 克隆)中执行以下命令并 check out master(当前指向提交 6a6c0f1 ), 它们给出相同的输出:

git log --name-only -m
git log --name-only -m -r

(要使其正常工作,可能必须将 diff.renameLimit 增加到 3150 左右。)我在 Git 版本 2.10.2 和 2.17 上尝试过。 1 获得相等的结果。

另外,命令

git log --name-only -m master~..master

输出

commit 6a6c0f10a70a6eb101c213b09ae82a9cad252743
Author: Junio C Hamano <gitster@pobox.com>
Date: Thu May 9 00:37:54 2019 +0900

The eighth batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/RelNotes/2.22.0.txt

从最后一行可以看出,即使没有 -r,此命令也会查看子目录。

最佳答案

选项来自git diff-tree docsgit diff-tree 中它确实有效;看这个例子:

$ git diff-tree master~ master
:100644 100644 a2be0e5e5959396fb85445cfff714d7b04a1231b 5d7a2a0a4fd6fbaf439aa08bb7f17052a65a5236 M ANNOUNCE
:100644 100644 22e746900ab77a79b4cb6780f536a517771fe276 f2aae0e9c7c87226f4f5c06ca006f4d04ce79dc1 M ChangeLog
:040000 040000 54ef4d981c00162085347031d31286d630258153 76d21516ed54422a8981a31a9a0bf47dc5e5af6f M mimedecode

$ git diff-tree -r master~ master
:100644 100644 a2be0e5e5959396fb85445cfff714d7b04a1231b 5d7a2a0a4fd6fbaf439aa08bb7f17052a65a5236 M ANNOUNCE
:100644 100644 22e746900ab77a79b4cb6780f536a517771fe276 f2aae0e9c7c87226f4f5c06ca006f4d04ce79dc1 M ChangeLog
:100644 100644 4ca2f25d2d061dba16294d67ab8018ea00be2b37 ead1ab38493c7e5119d8204a8731747cc534647c M mimedecode/mimedecode.py

该选项包含在 git-diff-tree.txt 的文档中文件包含在 git-log.txt 中通过 diff-options.txt。

我怀疑 git log docs 中包含该选项是文档生成的产物。至少我不能在 git log 中让这个选项对我有用。

关于git - Git日志的-r选项有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56100007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com