我有一个包含一堆 git 存储库的文件夹。我想创建此文件夹的备份,但问题是,如果我只是复制所有内容(例如使用递归cp -r <folder>
),则生成的文件夹会很大。这是因为每个存储库都有 git 忽略的、大小很大的文件/文件夹(例如虚拟环境、数据文件),我不想备份这些文件/文件夹。否则,所有存储库的大小都很小。
有没有办法递归复制文件夹但只包含非 gitignored 文件/文件夹?理想情况下,我还想包含.git
用于存储所有提交/分支历史记录的文件夹。
答案1
- 备份 != repo-copy。您只能选择一种形式
- 如果你需要备份(一些没有历史记录的树的快照),你必须阅读git 存档并分别对每个 git-repo 使用它
- 如果你想要“复制历史记录”,只需复制
git clone
每个仓库(并且git pull
稍后定期复制)