Github超级项目显示子模块更新时的更改?

时间:2017-08-17 18:43:50

标签: css git github web git-submodules

我正在使用Github Pages来托管用户网页和Jekyll Now项目网页。由于Github Pages分配Web地址的方式,用户网页位于username.github.io,而项目分配给username.github.io/blog。

我希望博客项目能够从用户网页访问一些文件,例如styles.css。为了方便相关文件路径,我认为在我的用户网页目录中本地嵌套我的博客项目是个好主意;这样,相对路径在网络和我的本地机器上都是相同的,这意味着路径“../styles.css”会让我的博客项目在所有上下文中访问用户网页的CSS。

为了嵌套项目,我只是在本地用户网页存储库中创建了博客项目的本地克隆。方便的是,Github用户网页存储库立即将此/ blog目录识别为子模块。我一直在做一些研究和一些测试,以确保这种安排导致我想要的行为,到目前为止,除了一个令人困惑的脚注外,一切都很完美。

我在我的本地子模块中进行了更改并将其推送。然后,在不进行任何其他更改的情况下,我使用以下内容暂存,提交并推送了我的超级项目存储库:

git add .
git commit -m "just a test"
git push origin master

我预计推送会失败,因为我实际上没有对超级项目进行任何更改 - 唯一的变化是在子模块中。然而,令我惊讶的是推动工作。

当我分析Github上的提交时,它显示了对博客文件夹的一次更改,描述如下:

Submodule blog updated from 632f0e to e6a35d

我的问题:这个推动是否做了任何会对我的项目/网站的工作方式产生影响的事情?或者它只是涂鸦评论的唯一目的是被人类阅读?

此时我还没有发现任何功能差异,但我还是Github的新手,想了解事情是如何运作的,并担心这会导致不良行为。

值得注意的是,我没有预见到这个超级项目取决于子模块 - 相反,子模块将依赖于超级项目来获得它的一些样式。

没有回答这个问题的结果(也许是因为问题比我能理解的要复杂得多):

1 个答案:

答案 0 :(得分:0)

Git子模块充当普通存储库。超级存储库只会看到子模块的签出提交中的更改。

您所做的更改应该在超级存储库中提交,如何知道要使用哪个版本的子模块?

  

我的问题:这个推动是否做了任何会在功能上产生影响的事情   我的项目/网站的工作方式?或者它只是在涂鸦评论   那唯一的目的是被人类阅读吗?

是的,您的存储库的子模块指向不同的提交。克隆存储库会将子模块检查到新的提交。

相关问题