如何压缩并忽略 .gitignore 指定的所有文件

qkh*_*pro 10 git bash command-line

我在一个目录下有几十个 git 存储库,所有这些存储库不仅包含源代码,还包含构建工件、开发人员工件、blob 和其他通常被 .gitignore 忽略的数据

我想快速将这些源代码转移到另一台计算机上。有没有一种简单的方法来打包 git 不忽略的所有内容?

添加更多上下文:

我有大约 50 个 git 文件夹,每个文件夹都位于不同的分支上,并且有一些当前的更改

我想复制当前状态下 git 跟踪的所有文件(当前分支加上当前本地更改)

如果将它们全部克隆,意味着转到每个文件夹,在本地提交当前更改,记住分支名称,git将本地分支克隆到另一个文件夹,这样做50次,那么我强烈反对它

Don*_*ato 10

单线:

$ alias gitzip="git archive HEAD -o ${PWD##*/}.zip"
$ cd mydir
$ gitzip
Run Code Online (Sandbox Code Playgroud)


Phi*_*ppe 2

你可以试试这个:

for dir in repo1 repo2 repo3; do
    git -C "$dir" ls-files | perl -pe "s[^][$dir/]"
done | zip /tmp/test.zip -@
Run Code Online (Sandbox Code Playgroud)