我刚刚开始为自己的项目使用源代码控制,现在我想添加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目录及其来源。但是现在如何在我的项目中访问库?我错过了一步吗?
答案 0 :(得分:3)
尝试使用git submodule update --init
。这样您就可以一步完成git submodule init
和git 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确实如此 - 我认为这就是问题所在。