AKS*_*AKS 10 git export archive msysgit
有没有一种简单的方法可以从git中的给定提交或一系列提交中仅导出/存档已更改的文件?我似乎无法找到明确的指示(我是Linux/Git的新手).
我正在使用msysgit,并且在大多数情况下我可以部署整个存储库,但在许多情况下,一次部署一些文件的小修补程序要高效得多.
在远程服务器上推/拉/安装git实际上并不是一个选项,因为我的访问级别因项目和客户端而异.
是否有一种直接的方式(粗略猜测):
pipe 'diff --names-only' to 'git-archive'?
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 26
我认为没有必要涉及git-archive.使用--name-only,你可以tar文件:
tar czf new-files.tar.gz `git diff --name-only [diff options]`
Run Code Online (Sandbox Code Playgroud)
由于您是Linux新手,可能需要一些解释:
命令行中的反引号使shell首先在反引号中执行命令,然后将该命令的输出替换为命令行tar.因此git diff首先运行,它生成一个文件名列表,每行一个.新tar行将折叠为空格,整个文件列表将放在命令行中.然后tar运行以创建给定的存档.请注意,这可能会生成很长的命令行,因此如果您有大量已更改的文件,则可能需要使用不同的技术.