要指定子模块到特定的commit,你需要进入子模块的目录,并切换到你想要的commit。例如,假设你的子模块位于path/to/submodule,并且你想要切换到commit abc12345: bash cd path/to/submodule git checkout abc12345 3. 更新主项目中的子模块引用 切换子模块的commit后,你还需要在主项目中更新对子模块commit的引用。这...
在project1中push之后其实就是更新了引用的commit id,然后project1-b在clone的时候获取到了submodule的commit id,然后当执行git submodule update的时候git就根据gitlink获取submodule的commit id,最后获取submodule的文件,所以clone之后不在任何分支上;但是master分支的commit id和HEAD保持一致。 查看~/submd/ws/project1...
查看当前仓库的submodule状态,可以得到各个submobule对应的commit和commit对应的哈希值,指令如下: git submodule status 查看当前仓库的submodule状态,包括submodule的submodule状态(if you want to show nested submodules.): git submodule status --recursive 七. 更改submodule的版本 我一开始直接用的git submodule updat...
2,子模块submodule update方式更新,需要加–remote和–merge,其中–remote表示将子模块远程仓库的更新合并到本地(否则还是主模块里记录的最后commit的那个submodule版本,而不一定是子模块远程最新版本),–merge表示将更新合并到本地子模块(也可以–rebase)。如果有多个子模块,全部都会更新。 3,子模块也是一个独立的git...
git commit -m “Remove submodule” “` 步骤6:删除本地子模块文件 完成以上步骤后,子模块仍然存在于本地,需要手动删除。使用以下命令删除本地子模块文件和目录: “` rm -rf “` 步骤7:推送更改 如果需要将更改推送到远程仓库,可以执行以下命令:
cd<path_to_submodule> git pull origin main 然后回到主项目目录,提交子模块的更新: cd.. git add <path_to_submodule> git commit -m"Update submodule" 4. 删除 Submodule 要从项目中删除一个子模块,步骤如下: 删除子模块的条目: git submodule deinit -f -- <path_to_submodule> ...
[submodule "project-sub-1"] path = project-sub-1 url = github.com/username/pro 如果此前项目中已经存在 .gitmodules 文件,则会在文件内容中多出上述三行记录。 事实上,此时在 .git/config 文件中也会多出一些信息,在 .git/modules 文件夹下也会多出一份内容。 通常此时可以使用 git commit -m "add...
git submodule update –remote <子模块路径> “` 5. 更新子模块后,可以使用”git status”命令来查看子模块的状态,确认是否更新成功。 6. 需要注意的是,更新子模块只会将子模块的指针指向最新的commit,如果你想使用子模块的最新代码,需要在子模块目录下执行”git pull”命令来拉取最新的代码。
$ git submodule update # 检出对应的 commit id 的子项目 也可以在 clone 命令中添加--recurse-submodules或--recursive参数递归拉取子模块代码。 代码语言:txt 复制 $ git clone --recursive /path/to/repos/foo.git git help 解释: --recursive, --recurse-submodules ...
git 在主仓库切换submodule分支 git切换到指定commit 切换分支是 git checkout 最常见的功能,这里不做介绍,今天主要介绍下它在撤销文件改动上的应用。 // 放弃单个文件修改,注意不要忘记中间的"--",不写就成了检出分支了 git checkout -- filepathname