Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';从当前文件名获取git提交级别文件名的最简单方法是什么?_Git_Search_File Rename_Revision History - Fatal编程技术网

什么';从当前文件名获取git提交级别文件名的最简单方法是什么?

什么';从当前文件名获取git提交级别文件名的最简单方法是什么?,git,search,file-rename,revision-history,Git,Search,File Rename,Revision History,我正在编写一个脚本,跟踪和报告存储库中的一些文件,以生成一些内部指标。我正在循环特定作者的提交日志,并使用git show:在不同的时间点转储对象,并通过分析器运行它们 问题是,一些文件已经随着时间的推移而移动。我想根据当前文件名生成报告,但我需要在重命名过程中跟踪它们。使用git log很容易——follow获取文件的历史记录,但是在基于当前名称的某个提交散列中获取文件的旧文件名时,最简单的命令是什么 您不应该在脚本中首先使用git show,因为它是一个命令。您应该改用管道命令。@Jubob

我正在编写一个脚本,跟踪和报告存储库中的一些文件,以生成一些内部指标。我正在循环特定作者的提交日志,并使用
git show:
在不同的时间点转储对象,并通过分析器运行它们


问题是,一些文件已经随着时间的推移而移动。我想根据当前文件名生成报告,但我需要在重命名过程中跟踪它们。使用
git log很容易——follow
获取文件的历史记录,但是在基于当前名称的某个提交散列中获取文件的旧文件名时,最简单的命令是什么

您不应该在脚本中首先使用
git show
,因为它是一个命令。您应该改用管道命令。@Jubobs我可以重定向!一个困难是git实际上并不跟踪重命名—它跟踪删除和添加可能相似的文件。您可能必须在添加当前文件名的地方找到一个提交,并以某种方式找出在同一提交中删除的文件(希望类似)。但是,如果一个副本在几个提交中共存,这将失败…@TobiasKienzler我知道Git是如何处理重命名的,你是对的,这种使用充满了陷阱,但有希望-a)我希望它在同时存在类似文件的情况下失败,b)日志--follow确实遵循我想要跟踪的重命名路径,因此,不管发生了什么,我只想访问它产生的文件名,但要根据当前名称在某个时间点查询它。好的一点-然后您可以使用
git log--follow--pretty=format:“%H”-
来获取所有涉及的提交哈希,但是我不知道如何获得确定的文件名……您不应该在脚本中首先使用
git show
,因为它是一个命令。您应该改用管道命令。@Jubobs我可以重定向!一个困难是git实际上并不跟踪重命名—它跟踪删除和添加可能相似的文件。您可能必须在添加当前文件名的地方找到一个提交,并以某种方式找出在同一提交中删除的文件(希望类似)。但是,如果一个副本在几个提交中共存,这将失败…@TobiasKienzler我知道Git是如何处理重命名的,你是对的,这种使用充满了陷阱,但有希望-a)我希望它在同时存在类似文件的情况下失败,b)日志--follow确实遵循我想要跟踪的重命名路径,因此,不管发生了什么,我只想访问它产生的文件名,但要根据当前名称在某个时间点查询它。这一点很好-然后您可以使用
git log--follow--pretty=format:“%H”-
获取所有涉及的提交哈希,但我不知道如何获取确定的文件名。。。