【问题标题】:Extract a particular version file from Git repository从 Git 存储库中提取特定版本文件
【发布时间】:2014-08-27 07:22:42
【问题描述】:

是否可以将文件的特定版本从 Git 存储库提取到外部文件夹位置?

我在 y Git repo 中有一些 excel(二进制)文件。我想将该文件的特定版本提取到外部文件夹,而不必执行git checkout,这样我当前的工作目录就不会受到干扰。

System information:
Windows 8, 64 bit.
msysgit 1.9.4

【问题讨论】:

    标签: git msysgit


    【解决方案1】:

    在 git 上有一个有用的工具。可以通过show 命令使用。 通过给出命令查看 show 的所有选项 -

    git show
    

    如果您想查看文件的特定版本,只需使用以下格式 -

    git show commit:filename
    

    现在通过 --

    导出到文件
    git show commit:filename > newfilename
    

    【讨论】:

    • 我希望在未来的版本中,这可以通过 Git UI 本身来完成。现在这将起作用。
    【解决方案2】:

    git show <commit>:<path> 将从给定提交打印出给定路径中的文件。只需使用> 将其存储到一个文件中即可。

    【讨论】:

    • 是的,这看起来像是一个绝妙的技巧。我试过了,效果很好。但我认为 Git Gui 会有一种更简单的方法。我对你的答案投了赞成票,但正在等待更准确的答案。
    【解决方案3】:

    我不知道它是否适用于二进制文件。您可以使用git show 命令。用法将是:

    git show commitHash:path/to/file.xls
    

    【讨论】:

    • 我忘了说 show 只会在控制台中显示文件。对于二进制文件,它无济于事。无论如何,我在这里要做的是将特定版本的文件的副本提取到外部目录。
    • 使用 che 解决方案中提到的输出重定向将输出放入文件git show commitHash:path/to/file.xls > file.xls
    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2017-02-20
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多