保持的文件结构,像git-archive
Git。如何使用已更改的文件创建归档文件?
回答
git archive
需要的文件路径作为参数,所以你可以这样做:
git diff --name-status commit1 commit2 | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD
UPDATE
下面的工作,如果你的文件名包括空格:
git diff --name-status commit1 commit2 | awk '{ if ($1 != "D") printf("\"%s\"\n", substr($0,3)) }' | xargs git archive -o output.zip HEAD --
注意:存档中包含的文件内容与HEAD相同。要使用其他提交的内容,只需在该命令结尾处将HEAD
更改为您希望的内容即可。
非常感谢 – Ildar
如果某些文件名包含空格,我一直在试图弄清楚如何使这项工作失败。你有什么建议吗? –
@Neville尝试'git diff --name-status commit1 commit2 | awk'{if($ 1!=“D”)printf(“\”%s \“\ n”,substr($ 0,3))}'| xargs git archive -o output.zip HEAD - ' –
这是命令归档变化之间提交标记发布和HEAD,还与文件名包含空格,引号,双引号,任何特殊字符:
git diff --name-only -z --diff-filter=ACMRT release..HEAD | xargs -0 git archive -o update.tar.gz HEAD --
- 1. 使用Git创建已更改文件的存档
- 2. 如何使用NetBeans IDE 8.2创建Java归档(.jar)文件
- 3. Git:文件“已更改但未更新”
- 4. 只下载已更改的文件git
- 5. 从Filechannels创建Zip归档文件
- 6. 如何为jenkins工件创建.war归档文件
- 7. 文件归档
- 8. 归档文件
- 9. 使用Git部署更改的文件
- 10. 如何从内存中的生成文件创建Java压缩归档文件?
- 11. 如何更改sqlite创建etilqs文件的临时文件夹?
- 12. 使用Linux递归更改文件名?
- 13. Git归档ZIP指定的文件/文件夹
- 14. 创建Word文档文件
- 15. git - 查找分支中已更改的文件,自创建以来
- 16. 如何在使用IFile修改文件后指示文件已更改
- 17. 如何使用Maven插件创建存档文件
- 18. 文档使用AngularJs创建软件?
- 19. 归档旧文件
- 20. PhoneGap - 如何在iOS文档文件夹中创建新文件
- 21. 文件锁定已更新Sharepoint文档
- 22. Git合并冲突 - 远程文件已删除,本地文件已更改
- 23. 如何使用创建文件创建tmp文件名
- 24. 完成文件更改git
- 25. 如何在不使用某些文件夹的情况下创建tar归档文件?
- 26. 如何创建包含已删除文件的文件?
- 27. Git创建子文件夹
- 28. 如何使用nant从TFS获取已更改的文件
- 29. 如何使用Git Bash在提交之间创建一个压缩文件,以忽略已删除的文件
- 30. 如何使用EXTJS 4创建创建/更新.json文件?
改变了两个提交之间? –
是的。两次提交之间 – Ildar
哪个提交的内容应该进入组成存档的文件? –