gpt4 book ai didi

git - 将子模块更新为最新提交

转载 作者:IT王子 更新时间:2023-10-29 01:14:32 26 4
gpt4 key购买 nike

我有一个项目 A,它是一个库,它在项目 B 中使用。

项目 A 和 B 在 github 上都有一个单独的存储库,但在 B 中我们有一个 A 的子模块。

我在库 A 中编辑了一些类,我推送了远程库,所以库 (repo A) 被更新了。

这些更新不会反射(reflect)在“引用”(子模块)上,子模块引用以前的提交....我应该怎么做才能在 git 上更新子模块?

最佳答案

进入子模块目录:

cd projB/projA

从您的项目 A 中提取 repo(不会更新您父项目 B 的 git 状态):

git pull origin master

回到根目录检查更新:

cd ..
git status

如果子模块之前更新过,会显示如下内容:

# Not currently on any branch.
# Changed but not updated:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: projB/projA (new commits)
#

然后,提交更新:

git add projB/projA
git commit -m "projA submodule updated"

更新

正如@paul 指出的那样,从 git 1.8 开始,我们可以使用

git submodule update --remote --merge

将子模块更新为最新的远程提交。在大多数情况下这会很方便。

关于git - 将子模块更新为最新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com