我想知道是否已经可以从 GIT 中给定分支的给定文件中获取给定范围的行?我正在做一个相当大的项目,在切换到新分支后重新加载整个解决方案持续几秒钟,但有时我需要从例如 master 中查看当前文件的历史记录/版本。是否可以不切换到master?
问问题
59 次
2 回答
2
您可以使用cat-file
打印内容:
git cat-file blob feature/my-feature:./README
然后传递给例如sed
以获取行范围:
git cat-file ... | sed -n '10,20p'
于 2016-01-29T08:12:26.893 回答
2
从特定修订版中的特定文件中获取特定的一组行并不容易,但获取整个文件非常容易:
$ git show rev:path
将其打印到标准输出(然后您可以根据需要重定向或过滤)。该path
参数相对于树的顶层,无论您在工作树中的哪个位置,除非(如Zbynek Vyskovsky - kvr000 的答案)您./
在前面使用。例如,要查看文件 dir/README 的第三个版本:
$ git show HEAD~3:dir/README
请注意,它会git show
绕过任何污迹过滤器(与其低级对应物,,git cat-file
)。
于 2016-01-29T08:12:39.430 回答