从github删除子项目提交

问题描述 投票:4回答:2

我有两个存储库,即AB。我错误地将回购B复制到了计算机上的A中。我从存储库B中删除了所有代码,但是当我在源上从A推送并合并代码时,它还显示了Github存储库上的子项目提交B

我想从源数据库中的主项目中删除子项目提交。这些步骤有效吗?

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

git github git-commit subproject
2个回答
7
投票

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

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


0
投票

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

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

转到子模块目录,然后

git checkout <old commit hash>

返回主项目:

git add .
git commit --amend --no-edit
git push
© www.soinside.com 2019 - 2024. All rights reserved.