要指定子模块到特定的commit,你需要进入子模块的目录,并切换到你想要的commit。例如,假设你的子模块位于path/to/submodule,并且你想要切换到commit abc12345: bash cd path/to/submodule git checkout abc12345 3. 更新主项目中的子模块引用 切换子模块的commit后,你还需要在主项目中更
自己手动删除就好了。 git checkout 切换到指定 commit: git chekcout <commit> 1. HEAD 是一个指针,通常情况下,它指向当前所在分支,而分支又指向一个 commit 提交。HEAD 并不总指向一个分支,某些时候仅指向某个 commit 提交,这就形成 detached HEAD。 切换到 detached HEAD 状态时,会有一个警告。 提示我们可...
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的时候提示这个信息:Current HEAD Detached,说明submodule已经和远程仓库脱离开了,如果你submodule中有未提交的改动,一定要手动备份下。 然后在submodule所在的目录下,右键-》TortoiseGit-》switch/checkout-》Branch选择:Master,然后点击确定,然后再在当前submodule下进行编辑,这样就可以将改动的内容提交到远...
git Submodule 是一个很好的多项目使用共同类库的工具,他允许类库项目做为repository,子项目做为一个单独的git项目存在父项目中,子项目可以有自己的独立的commit,push,pull。而父项目以Submodule的形式包含子项目,父项目可以指定子项目header,父项目中会的提交信息包含Submodule的信息,再clone父项目的时候可以把Submodule...
注意:该submodule的子目录指定时不能以"/"结尾,如上面命令,不能写成"projectB/"。 此时,可以在projectA目录下执行git status命令,可以看到会生成1个文件".gitmodules"和一个目录"projectB"。 2)提交、推送修改到模块A对应仓库 利用git commit命令和git push命令,将步骤1)将模块B添加为模块A的子模块的结果push...
接着需要将主仓库中的子模块 ModuleA 的变化同步到远程主仓库中具体的操作和上一节主仓库更新子模块仓库中的修改类似,用 add 和 commit 方式提交主仓库的更新,这个时候就完成了子模块和主仓库代码一致。 $ cd .. $ git add . $ git commit -m "update ModuleA" $ git push ...
这里需要指出父项目的 git 并不会记录 submodule 的文件变动,它是按照 commit id 指定 submodule moduleA 的 git header,所以 .gitmodules 和 moduleA 这两项是需要提交到父项目的远程仓库的。 On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset...
git submodule deinit usr/plugins/BaiduSubmit # 此时.git/config 已被重写,BaiduSubmit的相关信息已经不存在了 git rm usr/plugins/BaiduSubmit # 这时,子模块文件被删除,同时.gitmodules 文件中的相关信息被删除 # 还有一种情况,就是子模块刚被add,但是还没有commit的时候,这时如果反悔了,但是还想保留工作现场,可...
第一步:使用submodule add...添加子模组 第二步:查看.gitmodules的内容 2. 克隆带子模组的版本库的步骤 第一步:克隆super主版本库 第二步:克隆子模组 3. 对主Git库工作区作commit、checkout、revert、pull、push等更改Git工作区内容的操作时,查看Submodule目录下内容的效果 ...