【发布时间】:2018-08-12 07:03:45
【问题描述】:
我有许多文件存在于一个 zip 文件夹中。 zip 文件包含文件夹,这些文件夹也包含文件。这些文件是此命令的结果:
git archive --output=deploy.zip HEAD $(git diff --name-only HEAD HEAD~1 --diff-filter=ACMRTUXB)
这意味着 zip 文件夹仅包含在提交 HEAD 和 HEAD~1 之间更改的文件。
我想要做的是将文件和文件夹复制并粘贴到一个目的地。目标还包含多个文件夹和文件。我只想替换修改后的文件并备份替换的文件。 cp 命令的简单用法不起作用,因为它将仅用更改的文件替换整个文件夹。即如果压缩文件夹包含一个文件/config/configuration.xml 并且目标包含/config/ n 个文件,如果我使用简单的复制和粘贴,则配置文件夹本身将仅替换为一个文件。请注意,压缩文件夹 deploy.zip 包含多个这样的文件。
有什么想法或建议吗?
【问题讨论】:
-
7z 命令可以处理 zip 存档,
man 7z并按照面包屑导航。
标签: git shell unix command-line