访问Android Studio中的git子模块

时间:2015-04-16 16:44:47

标签: git android-studio git-submodules

我刚刚开始为自己的项目使用源代码控制,现在我想添加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目录及其来源。但是现在如何在我的项目中访问库?我错过了一步吗?

3 个答案:

答案 0 :(得分:3)

尝试使用git submodule update --init。这样您就可以一步完成git submodule initgit submodule update。请注意,您只需添加一次--init选项。

引用doc

  

<强>更新

     

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

另一方面,git init本身就是

  

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

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

答案 1 :(得分:2)

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

  

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

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

答案 2 :(得分:0)

我对所提供的答案没有任何好运。当我一直在互联网上搜索一些帮助时,我偶然发现了Joda-Time-Android,所以我删除了原来的Joda-Time子模块并再次尝试使用新的。有用!它将自己添加到我的项目中,它已经准备好摇滚了!

在我还在解决原始问题的过程中,Joda-Time不包含build.gradle文件,但Joda-Time-Android确实如此 - 我认为这就是问题所在。