gpt4 book ai didi

git - git中的附加子模块

转载 作者:太空狗 更新时间:2023-10-29 13:53:33 24 4
gpt4 key购买 nike

我想在 git-annex 中保存一些二进制文件(文档、可执行二进制文件、图像等),然后将它们作为 git-submodules 包含在几个项目中。我认为这将使我能够在这些大文件发生变化时跟踪它们的正确版本,使旧项目链接到旧版本,新项目链接到新版本。

所以我为我的大文件做了以下 repo :

mkdir annexedrepo
cd annexedrepo
cp big_files annexedrepo/
git init
git annex init
git annex add .

然后转到我的项目仓库并将它们添加为子模块。

cd ../otherrepo
mkdir data
git submodule add ../annexedrepo data/annexed

如果这些只是作为指向其他存储库中正确文件的符号链接(symbolic link)出现,我会很高兴。但我想如果我可以根据需要制作副本就足够了:

git annex get data/annexed

这会复制文件 - 我可以在 otherrepo/.git/module/data/annexed/objects/ 中看到它们。但是当我这样做时,附件文件只是死符号链接(symbolic link)。我可以使用 ls data/annexed/ 列出它们,但没人在家。

我是不是在做一些错误的事情?有没有办法来解决这个问题?这些错误是在 git-submodule 还是 git-annex 中?感谢您的帮助!

最佳答案

我正在使用相同的源代码树结构,也尝试使用 git-annex 但遇到了同样的问题。我发现可以使用 git-fat 扩展名代替 git-annex 并且没有这样的问题。所以我的源代码树看起来像这样:

/project
.git
.gitmodules
...
<project files and folders>
...
submodule
.git
.gitattributes
.gitfat
...
<binary files>
...

克隆这样一个项目

git clone git://... project
cd project
git submodule init
git submodule update
cd submodule
git fat init
git fat pull

git-fat 使用 rsync 来推送/pull 文件。 See more about git-fat .

关于git - git中的附加子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238140/

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