首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅在Git中导出/存档更改的文件

仅在Git中导出/存档更改的文件
EN

Stack Overflow用户
提问于 2009-11-05 10:54:12
回答 1查看 7.9K关注 0票数 10

有没有一种简单的方法可以在git中只导出/归档从给定提交或一系列提交中更改的文件?我似乎找不到明确的指令来做这件事(而且我是Linux/Git的新手)。

我使用的是msysgit,而且在大多数情况下,我可以部署整个存储库,但在许多情况下,一次部署几个文件的小修复要高效得多。

在远程服务器上推送/拉取/安装git并不是一个真正的选择,因为我的访问级别因项目和客户端而异。

有没有一种直接的方法(粗略估计):

代码语言:javascript
复制
pipe 'diff --names-only' to 'git-archive'? 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-05 10:58:12

我不认为有任何必要涉及git-archive。使用--name-only,您可以压缩文件:

代码语言:javascript
复制
tar czf new-files.tar.gz `git diff --name-only [diff options]`

由于您是Linux的新手,这可能需要一些解释:

命令行中的反引号导致shell首先执行反引号内的命令,然后将该命令的输出替换到tar的命令行中。因此,首先运行git diff,它会生成一个文件名列表,每行一个。换行符被折叠为空格,整个文件列表放在tar命令行上。然后运行tar来创建给定的归档文件。请注意,这会生成相当长的命令行,因此如果您有大量更改的文件,则可能需要一种不同的技术。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1678032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档