从 github 中删除子项目提交
Removing subproject commit from github
我有两个存储库,即 A
和 B
。我错误地在我的机器上将 repo B 克隆到 A 中。我从 repo B 中删除了所有代码,但是当我从源 A 推送并合并我的代码时,它还在 Github repo.
上显示了一个子项目提交 B
我想从 origin 上的 master 中删除子项目提交。这些步骤有效吗?
1. rmdir B (on my local repo A)
2. Pushing my repo A to origin
3. Merging
由于 GitHub 将 B 显示为 A 存储库中的灰色文件夹,这意味着 B 已作为子模块添加到 A。
那个灰色文件夹是 gitlink, a special entry in the index.
参见“How do I remove a Git submodule?”:
在本地,执行 git submodule deinit asubmodule
和 git rm B
(B
没有任何尾部斜线 B/
)。
然后推到GitHub,B
应该就没了。
假设你想删除差异中显示的提交,如
-Subproject commit <old commit hash>
+Subproject commit <new commit hash>
转到子模块目录,然后
git checkout <old commit hash>
return回到主项目:
git add .
git commit --amend --no-edit
git push
我有两个存储库,即 A
和 B
。我错误地在我的机器上将 repo B 克隆到 A 中。我从 repo B 中删除了所有代码,但是当我从源 A 推送并合并我的代码时,它还在 Github repo.
B
我想从 origin 上的 master 中删除子项目提交。这些步骤有效吗?
1. rmdir B (on my local repo A)
2. Pushing my repo A to origin
3. Merging
由于 GitHub 将 B 显示为 A 存储库中的灰色文件夹,这意味着 B 已作为子模块添加到 A。
那个灰色文件夹是 gitlink, a special entry in the index.
参见“How do I remove a Git submodule?”:
在本地,执行 git submodule deinit asubmodule
和 git rm B
(B
没有任何尾部斜线 B/
)。
然后推到GitHub,B
应该就没了。
假设你想删除差异中显示的提交,如
-Subproject commit <old commit hash>
+Subproject commit <new commit hash>
转到子模块目录,然后
git checkout <old commit hash>
return回到主项目:
git add .
git commit --amend --no-edit
git push