有没有一种简单的方法可以在git中只导出/归档从给定提交或一系列提交中更改的文件?我似乎找不到明确的指令来做这件事(而且我是Linux/Git的新手)。
我使用的是msysgit,而且在大多数情况下,我可以部署整个存储库,但在许多情况下,一次部署几个文件的小修复要高效得多。
在远程服务器上推送/拉取/安装git并不是一个真正的选择,因为我的访问级别因项目和客户端而异。
有没有一种直接的方法(粗略估计):
pipe 'diff --names-only' to 'git-archive'? 发布于 2009-11-05 10:58:12
我不认为有任何必要涉及git-archive。使用--name-only,您可以压缩文件:
tar czf new-files.tar.gz `git diff --name-only [diff options]`由于您是Linux的新手,这可能需要一些解释:
命令行中的反引号导致shell首先执行反引号内的命令,然后将该命令的输出替换到tar的命令行中。因此,首先运行git diff,它会生成一个文件名列表,每行一个。换行符被折叠为空格,整个文件列表放在tar命令行上。然后运行tar来创建给定的归档文件。请注意,这会生成相当长的命令行,因此如果您有大量更改的文件,则可能需要一种不同的技术。
https://stackoverflow.com/questions/1678032
复制相似问题