如何在Git中的两个标签之间提取不同的文件版本?

怒气

像这里提到的方法获取Git中两个标签之间的新提交列表?给我diff文件列表。

但是,我有一个局限性,例如无法每次都签出一个标签,因为我需要在不同标签之间提供超过1000个请求/秒的请求差异文件。有什么方法可以实现这一目标?

例如,我有3个标签:

  • 1.0
  • 1.1
  • 1.2

现在,假设one.txt所有标签中的文件均已更改,并且文件头位于最新标签(1.2)上。现在,当我做

git diff 1.0 1.1 --stat

它返回了我的文件名,one.txt所以现在我知道one.txt已更改,可以抓取该文件。但是,要获得one.txt标签1.1,我需要先在1.1处签出,否则我将获得最新one.txt,因此在这里,我需要避免该签出并获得与one.txt1.1相同的结果。

请提出任何解决方案?

用户456814

解决方案1: git checkout

使用git checkout了修订版本像是一个分支,标签,或提交沙,用文件路径一起,将签出该文件的修订工作时到您的工作副本:

git checkout <tag> -- <filepath>

请注意,这只会修改该特定文件的版本。您的工作副本的其余部分将不受影响。

文献资料

官方Linux Kernel文档中获得git log(摘要):

git checkout [-p|--patch] [<tree-ish>] [--] <pathspec>…

<paths>--patch给出,git checkout没有转换分支。它从索引文件或已命名的<tree-ish>(最常见的是提交)更新工作树中的已命名路径。该<tree-ish>参数可用于指定特定的树形(即,commit,tag或tree)来更新索引给定路径,然后再更新工作树。

解决方案2: git show

您还可以使用git show并将结果输出到文件来检索文件的版本

git show <tag>:<filepath> > <outputPath>

也可以看看

官方Linux内核文档:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在两个不同的xml标签多行之间提取文本

如何在htmlagility中的两个锚标记之间提取不同的div?

如何在文件中的两个\ n之间提取字符串

在两个不同标签之间提取文本

如何在GitPython中的两个标签之间列出所有更改的文件

如何在Scenekit- iOS中检测两个不同.scn文件的节点之间的冲突?

sed如何在两个标签之间提取文本但包括它

如何使用git列出两个不同版本之间的所有提交和相关更改

git diff在两个不同文件夹中的两个不同存储库之间

Git diff-如何通过git diff获取两个标签之间的不同文件(仅名称),并按文件提交时间排序

如何在两个不同的数据列之间提取不常见的数据?

Python,如何在整个文本文件中多次提取两个标记之间的文本?

提取两个标签之间的数据

两个不同文件之间的git diff

将更改记录记录到两个git标签之间的文件中

Git:如何在不同的提交中区分两个不同的文件?

如何在两个不同的git存储库之间“部分同步”代码?

如何提取XML文件的两个不同节点

php在文件html中的两个标签之间替换

如何使用Java提取文本文件中两个单词之间的内容?

如何在Netlogo中的两个不同品种之间仅添加一个链接

Python-如何在大文本中的两个变量之间提取文本

Python + regex:如何在 Python 中的两个下划线之间提取值?

如何在Google表格中的两个单词之间提取文本?

如何在两个不同的Docker容器中的两个Django应用之间建立连接?

当两个日期不同时,如何在javascript中获取两个日期之间的差异

Git:如何区分不同分支中的两个不同文件?

如何在两个不同的角色之间进行分割

如何在两个不同的组件之间共享数据?