首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >附于git的子模块

附于git的子模块
EN

Stack Overflow用户
提问于 2013-08-14 17:16:10
回答 2查看 1.1K关注 0票数 3

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

因此,我为我的大文件做了以下回复:

代码语言:javascript
复制
mkdir annexedrepo
cd annexedrepo
cp big_files annexedrepo/
git init
git annex init
git annex add .

然后转到我的项目回购,并将它们作为子模块添加。

代码语言:javascript
复制
cd ../otherrepo
mkdir data
git submodule add ../annexedrepo data/annexed

我想如果这些只是作为符号链接到正确的文件在另一个回购。但我想如果我能照我需要的复印一下就够了:

代码语言:javascript
复制
git annex get data/annexed

这个文件复制过来了--我可以在otherrepo/.git/module/data/annexed/objects/中看到它们。但是当我这么做的时候,附件中的文件只是死了的符号链接。我可以在ls data/annexed/上列出,但没人在家。

我是想做错事吗?有办法解决这个问题吗?这些bug是git-submodule还是git-annex中的bug?谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-27 11:13:19

我使用相同的源树结构,也尝试使用git-annex,但遇到了同样的问题。我发现git-fat扩展可以代替git-annex使用,而且没有这样的问题。所以我的源树是这样的:

代码语言:javascript
复制
/project
    .git
    .gitmodules
    ...
    <project files and folders>
    ...
    submodule
        .git
        .gitattributes
        .gitfat
        ...
        <binary files>
        ...

复制这样一个项目

代码语言:javascript
复制
git clone git://... project
cd project
git submodule init
git submodule update
cd submodule
git fat init
git fat pull

git-fat使用rsync推/拉文件。看更多关于吉特脂肪的信息。

票数 3
EN

Stack Overflow用户

发布于 2013-08-14 17:26:32

好吧,稍微摆弄一下,我找到了一个解决办法。不过,我还是想看看更好的东西。为子孙后代发布这篇文章,但我希望找到一个更好的解决方案。

data/annexed中,有一个文件.git,它包含对../../.git/module/data/annexed/的引用。我删除了这个文件,并将其替换为指向同一个位置的符号链接。我现在可以从../annexedrepo/内部访问data/annexed,并且我的文件在正确的版本上。我有点担心这件事会给未来带来麻烦.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18238140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档