Git - 从给定分支的给定文件中获取给定范围的行

时间:2016-01-29 07:59:47

标签: git git-workflow

我想知道是否已经可以从GIT中给定分支的给定文件中获得给定范围的行?我正在研究相当大的项目,在切换到新分支后重新加载整个解决方案会持续几秒钟,但有时我需要查看当前文件的历史/版本,例如:主。是否可以不切换到主人?

2 个答案:

答案 0 :(得分:2)

您可以使用git cat-file blob feature/my-feature:./README 打印内容:

sed

然后传递给例如git cat-file ... | sed -n '10,20p' 以获取行范围:

{{1}}

答案 1 :(得分:2)

从特定版本中的特定文件中获取特定的一组行并不是那么容易,但是非常很容易获得整个文件:

$ git show rev:path

将其打印到标准输出(然后您可以根据需要重定向或过滤)。 path参数相对于树的顶层,无论您在工作树中的哪个位置,除非(在Zbynek Vyskovsky - kvr000's answer中)您在前面使用./。例如,要查看文件dir / README的第三版本:

$ git show HEAD~3:dir/README

请注意,git show会绕过任何涂抹过滤器(更像是低级对应的git cat-file)。