从github中删除子项目提交

Hel*_*boy 3 git github subproject git-commit

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

我想从我的master上删除子项目提交.这些步骤会起作用吗?

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

Von*_*onC 7

由于GitHub将A显示为A repo中的灰色文件夹,这意味着B已作为子模块添加到A中.
那个灰色文件夹是一个gitlink,索引中的一个特殊条目.

请参阅" 如何删除Git子模块? ":在
本地,执行git submodule deinit asubmodulegit rm B(B没有任何尾部斜杠B/).
然后推送到GitHub,B应该不见了.


小智 6

假设您想删除 diff 中显示的提交,例如

-Subproject commit <old commit hash>
+Subproject commit <new commit hash>
Run Code Online (Sandbox Code Playgroud)

转到子模块目录,然后

git checkout <old commit hash>
Run Code Online (Sandbox Code Playgroud)

返回主项目:

git add .
git commit --amend --no-edit
git push
Run Code Online (Sandbox Code Playgroud)