【问题标题】:How do I get git submodule changes from parent to child repository?如何获取从父存储库到子存储库的 git 子模块更改?
【发布时间】:2018-01-14 20:44:51
【问题描述】:

我有一个项目 repo(父级),其中包含一个子模块(子级)。

在父级工作时,我对子级的文件进行了更改。我已在父级中提交了这些更改。

如何将这些更改返回给孩子?

【问题讨论】:

    标签: git git-submodules


    【解决方案1】:

    您需要在子子模块文件夹中添加提交更改,您还可以在其中将 git push 回其自己的上游存储库。

    然后你回到父级,添加并提交新的gitlinkspecial entry in the index,引用子模块的新 SHA1),然后推送。

    discussion 之后,OP 提到:

    /Users/bob/Documents/Web Development/Projects/materialize 是 Grav 开源 CMS 的公共可用主题。
    /Users/bob/Sites/www.materialize.dev 是使用该主题的私人网站的开发版本。

    我无法从子级添加、提交和推送,因为在父级文件夹结构中所做的编辑不会显示为子级中的更改,因此没有什么可提交的。
    我的目标是开发网站(父)作为开发主题(子)的一种方式。所以我在父母中编辑。主题在 GitHub 上作为一个完整的包发布,网站没有。我从一开始就以错误的方式处理这一切吗?

    我确实提到子模块应该能够忽略父仓库正在做的事情(它只是由所述父仓库在固定提交时引用)。
    因此,当前的结构可能不适合 OP 所追求的开发类型。

    【讨论】:

    • 当我从父级文件夹中编辑属于子级的文件时,父级会识别更改,我可以向父级提交。但是孩子在其工作目录中没有显示任何更改,所以我没有机会在那里提交。
    • @BobRockefeller 那么它不是子模块:父 repo 有 .gitmodules 吗?
    • 我确信它是一个子模块。我使用 Mac git 客户端 Tower 创建了它,它在 .gitmodules 文件中显示为子模块。
    • 那么如何从子模块本身内部进行提交,然后从那里推送,然后在父模块中进行相同的提交并推送? (这就是我在回答中所描述的)
    • 子模块的工作目录是干净的。它看不到要提交的更改。 :(
    猜你喜欢
    • 2013-04-30
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2015-04-03
    • 2018-04-05
    • 1970-01-01
    相关资源
    最近更新 更多