我有一个场景,我将整个文件结构移动到 git-annex。
它包含我当前的项目、旧项目、媒体、个人物品等。因此,它包含了很多由于历史原因我想附加的 git 存储库。
但是,git Attached 会忽略已经签入 git 的文件。即使当我使用 --force 时,它仍然会忽略它们。如何在不删除 .git 文件夹的情况下添加这些文件?
我为什么要这样做?
我有一个完整、组织良好的文件夹结构,其中包含对我来说重要的所有内容。现在我将整个文件夹保留在我的笔记本电脑上,并有 2 个备份到外部硬盘。这意味着我的大部分硬盘空间都被我每年可能需要访问一次的文件占用了。Git 附件将通过跟踪那些不常用的文件来解决这个问题,而不会导致文件变得混乱(因此最终丢失),因此我可以将它们保存在其他位置。请随意推荐其他可能适合我需要的工具。
用户 EvanDeaubl 的解决方法:https://git-annex.branchable.com/forum/Git_repos_in_git_annex__63__/
我目前使用单独的 git 目录将 git 存储库存储在我的附件中,这样 git 就不会检测到嵌套存储库并阻止添加它。使用 --separate-git-dir= 参数执行 git clone 或 git init 将通常在 .git 中的内容放入该目录中,并在其位置创建一个简单的 .git 文件,该文件引用分隔的 git 目录。
当我不使用存储库时,我将 .git 文件移出目录,所有内容看起来都像 git-annex 的常规文件。当我想使用它时,我将它移回原位,并且 repo 目录内的任何 git 操作都使用内部 git repo 本身。
我使用了一段时间的另一个选择是将裸存储库存储在附件中,并从这些存储库中进行结帐。
不完全是一个解决方案,但它可能是一个可行的解决方法。