Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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 - Fatal编程技术网

从git修订版复制文件

从git修订版复制文件,git,Git,我正在做一个基于git的“自动更新程序”。 其想法是在服务器端根据客户端版本和服务器上所选版本之间的差异形成zip存档。 除了不同的验证之外,我正在对修改的文件列表执行一个步骤: git diff tree revision\u from..revision\u to--name status-r--diff filter=ADMT 它提供从文件夹复制和压缩的文件列表: shutil.copyfile(src,dst)(python) 它起作用了。但问题是,我被绑定到存储库的头部。例如,如果不切

我正在做一个基于git的“自动更新程序”。
其想法是在服务器端根据客户端版本和服务器上所选版本之间的差异形成zip存档。
除了不同的验证之外,我正在对修改的文件列表执行一个步骤:

git diff tree revision\u from..revision\u to--name status-r--diff filter=ADMT

它提供从文件夹复制和压缩的文件列表:

shutil.copyfile(src,dst)(python)

它起作用了。但问题是,我被绑定到存储库的
头部。例如,如果不切换
,我无法从不同的分支复制文件。 有没有办法从选定的git版本复制整个文件

我发现
git show REVISION:/path/to/file>file.copy
,但我认为这是一种糟糕的方法。如果有二进制文件呢?

Git版本是最新的版本之一。

那么,如果有一个二进制文件呢?