我想使用类似以下命令来创建要部署的 tarball:
tar cjvf ~/deploy.tar.bz2 `git diff --name-only 0abc 1def`
当我单独运行它时,内部 git diff 命令会生成一个包含相对路径的文件列表。
我遇到了两个问题,我需要能够在输出中自动转义空格,所以 tar 不会抱怨包含空格的文件,并且当 tar 确实被创建时,所有文件都有一个重复的“隐藏文件”前面有一个“。” 不会出现在 ls -al中。这些是 kch 所指出的 OSX 特定的元文件。
无论如何,有没有人知道这些问题的解决方案,或者是否有一种更简单的方法来编写脚本?