从github中删除子项目提交

时间:2015-05-16 12:28:31

标签: git github git-commit subproject

我有两个存储库,即AB。错误地,我在我的机器上克隆了A里面的回购B.我从repo B中删除了所有代码但是当我从A on origin推送并合并我的代码时,它还在Github repo上显示了一个子项目commit B

我想从我的主人那里删除子项目提交。这些步骤会起作用吗?

1. rmdir B (on my local repo A) 2. Pushing my repo A to origin 3. Merging

2 个答案:

答案 0 :(得分:7)

由于GitHub在A仓库中将B显示为灰色文件夹,这意味着B已作为子模块添加到A中。 该灰色文件夹是 gitlink special entry in the index

请参阅" How do I remove a Git submodule?":
在本地,执行git submodule deinit asubmodulegit rm BB,不带任何尾部斜杠B/)。
然后推送到GitHub,B应该消失。

答案 1 :(得分:0)

假设您要删除以差异形式显示的提交

-Subproject commit <old commit hash>
+Subproject commit <new commit hash>

转到子模块目录,

git checkout <old commit hash>

返回主项目:

git add .
git commit --amend --no-edit
git push