我有两个存储库,即A
和B
. 错误地我在我的机器上克隆了 A 里面的 repo B。我从存储库 B 中删除了所有代码,但是当我从源 A 推送并合并我的代码时,它还显示了B
Github 存储库上的子项目提交。
我想从我的主人那里删除子项目提交。这些步骤会奏效吗?
1. rmdir B (on my local repo A)
2. Pushing my repo A to origin
3. Merging
我有两个存储库,即A
和B
. 错误地我在我的机器上克隆了 A 里面的 repo B。我从存储库 B 中删除了所有代码,但是当我从源 A 推送并合并我的代码时,它还显示了B
Github 存储库上的子项目提交。
我想从我的主人那里删除子项目提交。这些步骤会奏效吗?
1. rmdir B (on my local repo A)
2. Pushing my repo A to origin
3. Merging
由于 GitHub 将 B 显示为 A 存储库中的灰色文件夹,这意味着 B 已作为子模块添加到 A。
那个灰色文件夹是一个gitlink,索引中的一个特殊条目。
请参阅“如何删除 Git 子模块? ”:
在本地,执行git submodule deinit asubmodule
和git rm B
(B
不带任何尾随斜杠B/
)。
然后推送到 GitHub,B
应该就没了。
Assuming you want to remove commit which shown in diff like
-Subproject commit <old commit hash>
+Subproject commit <new commit hash>
go to submodule directory, than
git checkout <old commit hash>
return back to main project:
git add .
git commit --amend --no-edit
git push