【问题标题】:Accessing git submodule in Android Studio在 Android Studio 中访问 git 子模块
【发布时间】:2015-04-16 16:44:46
【问题描述】:

我刚开始为我自己的项目使用源代码管理,现在我想添加 Joda-Time。我想将它添加为子模块,所以我进入终端并执行:

git submodule add https://github.com/JodaOrg/joda-time.git

它成功下载了所有文件。然后我跑了:

git submodule init

一无所获。

git submodule status

返回

b9fe534c7f5876eced6494a6d6c1deaf2528a579 joda-time (v2.7-17-gb9fe534)

我检查了我的项目根目录,我看到了新的 joda-time 目录及其源代码。但是现在我如何访问我的项目中的库?我错过了一步吗?

【问题讨论】:

    标签: git android-studio git-submodules


    【解决方案1】:

    试试git submodule update --init。这将允许您一步完成git submodule initgit submodule update。请注意,您只需添加一次--init 选项。

    引用doc:

    更新

    更新注册的子模块以匹配超级项目 期望通过克隆丢失的子模块并更新工作 子模块的树。

    另一方面,git init 本身很简单

    将子模块名称和 URL 从 [your] .gitmodules [file] 复制到 [your local] .git/config [folder]。

    完成此操作后,您会注意到您的子模块处于 DETACHED 状态。您可以简单地从那里检出任何现有的分支,例如,git checkout master 以检出上游的master 分支。

    【讨论】:

      【解决方案2】:

      你错过了git submodule update。来自文档:

      更新注册的子模块以匹配超级项目 期望通过克隆丢失的子模块并更新工作树 子模块。

      您也可以使用--init 选项执行此操作,该选项将为您执行git submodule init

      【讨论】:

        【解决方案3】:

        我无法获得所提供的答案。当我一直在互联网上寻找帮助时,我偶然发现了Joda-Time-Android,所以我删除了原来的 Joda-Time 子模块并再次尝试使用新的。有用!它把自己添加到我的项目中,它已经准备好摇滚了!

        在我仍在对原始问题进行故障排除期间,Joda-Time 不包含 build.gradle 文件,但 Joda-Time-Android 包含 - 我认为这是问题所在。

        【讨论】:

        • 干得好。我想现在我明白了你原来的问题。不要忘记接受你自己的答案:-)
        • 我认为您的问题是您没有将模块设置为您的 gradle 文件中的依赖项。 “它自己添加到我的项目中”是的,因为您现在将其添加为依赖项 -> dependencies { implementation 'net.danlew:android.joda:2.10.3'}.
        猜你喜欢
        • 1970-01-01
        • 2011-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-28
        • 1970-01-01
        • 1970-01-01
        • 2014-12-24
        相关资源
        最近更新 更多