【发布时间】:2018-01-26 07:46:40
【问题描述】:
我正在使用Github Pages 托管用户网页和Jekyll Now 项目网页。由于 Github Pages 分配网址的方式,用户网页位于 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 的新手,想了解事情的运作方式,并担心这可能会导致不良行为。
值得注意的是,我不认为这个超级项目会依赖于子模块——相反,子模块将依赖于超级项目来获得它的一些样式。
没有回答这个问题的结果(可能是因为问题比我能理解的更复杂):
- Update a submodule to the latest commit
- Git submodule - How to keep the submodule updated when pulling from the main repo
- (还有更多,但显然我无法在没有更多声誉的情况下发布它们)
【问题讨论】:
标签: css git github web git-submodules