2015-02-11 55 views
1

我在看别人elses回购。里面有一个文件夹,我相信是一个参考子模块。它的名字是这样的:Github引用子模块 - 错误的树

网站@ 5afa940

有一个名为与此内容.gitmodules文件:

[submodule "website"] 
    path = website 
    url = [email protected]:xyz/website.git 
    branch = master 

如果.gitmodule被refencing主分支为什么在github上我还可以看到一个文件夹引用与主引用不同的树形引用?

有无论如何我可以从github在线调整这个,或者我需要使用git命令行吗?

回答

1

如果.gitmodule正在重新启用主分支,为什么在GitHub中我仍然可以看到一个文件夹引用,它的引用与主节点不同?

因为一个子模块总是引用SHA1

“主”分支规范是只存在如果您使用

git submodule update --remote 

请参阅“Git submodules: Specify a branch/tag”和“git submodule tracking latest”为多。

一旦你有克隆和更新(--remote)在本地,然后由gitlinkspecial entry in the index)记录的SHA1将被改变(到origin/master最新获取的SHA1的子模块upstream repo)。
然后你就可以将git add和git push到GitHub。

只有这样GitHub才会显示更新的SHA1。

+0

好的,非常感谢您的评论。在这方面,我的主要回购不可能总是引用最新版本的网站,而无需每次都更新SHA1? – Jimmy 2015-02-11 11:53:46

+0

@Jimmy是的,您需要经过该过程才能更新由子模块引用的SHA1。 – VonC 2015-02-11 12:09:14