我有两个代码仓库,分别为 A
和 B
。我不小心在本地将仓库 B 克隆到了 A 中。我已经删除了仓库 B 的所有代码,但当我从 A 推送并合并我的代码到远程仓库时,Github 仓库上也显示了一个子项目提交 B
。
我想从我的远程主分支中删除这个子项目提交,以下步骤可行吗?
1. 在我的本地仓库 A 中删除 B
2. 将我的仓库 A 推送到远程仓库
3. 合并
我有两个代码仓库,分别为 A
和 B
。我不小心在本地将仓库 B 克隆到了 A 中。我已经删除了仓库 B 的所有代码,但当我从 A 推送并合并我的代码到远程仓库时,Github 仓库上也显示了一个子项目提交 B
。
我想从我的远程主分支中删除这个子项目提交,以下步骤可行吗?
1. 在我的本地仓库 A 中删除 B
2. 将我的仓库 A 推送到远程仓库
3. 合并
git submodule deinit asubmodule
和git rm B
(B
没有任何尾随斜杠B/
)。B
就会消失。git submodule deinit B
命令?或者至少执行了 git rm .gitmodules
命令?然后将 A
推送到 origin/A
。 - VonCB
被声明为子模块:你需要执行一些 git 命令来注销 B
作为子模块,否则它将在 GitHub 上显示为子模块。具体来说,你需要删除 gitlink(git rm B
),并且需要从子模块列表中注销它(git submodule deinit B
)。像 rmdir
这样的简单系统命令不足以将 B
移除为子模块。 - VonC-Subproject commit <old commit hash>
+Subproject commit <new commit hash>
进入子模块目录,然后执行以下操作
git checkout <old commit hash>
回到主项目:
git add .
git commit --amend --no-edit
git push