gpt4 book ai didi

bash - 如何压缩和忽略 .gitignore 指定的所有文件

转载 作者:行者123 更新时间:2023-12-05 09:04:52 25 4
gpt4 key购买 nike

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

我想快速将这些源代码转移到另一台电脑上。有没有一种简单的方法来打包所有不会被 git 忽略的东西?

添加更多上下文:

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

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

如果全部克隆,就是去每个文件夹,在本地提交当前更改,记住分支名称,git clone本地分支到另一个文件夹,这样做50次,我强烈反对

最佳答案

如果你想包含历史,使用git bundle (或 xeyownt/git-subundle 如果您的存储库有子模块)

参见 this script举个例子:

for repository in ${repositories[@]}
do
echo "$repository..."
declare file_name="../$repository-$(git rev-parse --short HEAD).bundle"
cd $repository
if [ -f $file_name ]; then
echo 'Found bundle is current'
else
git bundle create $file_name --all
fi
cd -
done

每个存储库都提供一个文件(没有任何私有(private)或被忽略的文件),您可以轻松复制该文件,一旦复制,就可以从中克隆。

关于bash - 如何压缩和忽略 .gitignore 指定的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68056216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com