如果我 tar 是一个 git 存储库的文件夹,我可以在不包含.git相关文件的情况下这样做吗?如果没有,我将如何通过命令来做到这一点?
mte*_*sha 57
最简单的答案:添加--exclude-vcs. 这不包括所有版本控制系统目录
我个人使用
tar --exclude-vcs -zcvf foo.tar.gz ./FOLDER_NAME
Run Code Online (Sandbox Code Playgroud)
所以你需要做的就是--exclude-vcs在命令的末尾添加。
Sté*_*nez 34
先来看看git help archive。archive是一个 git 命令,它允许制作仅包含 git 跟踪文件的档案。可能是你正在寻找的。手册页末尾列出了一个示例:
git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 25
如果您希望存档包含 git 跟踪的文件,但不包含 git 存储库本身或任何生成的或未跟踪的文件,请使用git archive.
如果您特别想排除.git但包含其他所有内容,在 Linux 或 FreeBSD 或 OSX 或 Cygwin 下,tar 有一个简单的选项来排除目录:
tar -c --exclude .git -f - foo | gzip >foo.tgz
Run Code Online (Sandbox Code Playgroud)
使用 GNU tar(即在 Linux 或 Cygwin 下),您可以将其缩短为tar czf foo.tgz --exclude .git foo.
创建档案的 POSIX 方式是pax.
pax -w -t -s '!.*/\.git$!!' -s '!.*/\.git/.*!!' foo | gzip >foo.tgz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29966 次 |
| 最近记录: |