我有三个现有的git repos RepoA , RepoB 和 RepoC 。
RepoA 在 RepoC 中用作子模块。
我正在寻找的是现在使用 RepoB 作为 RepoA ,并将 RepoA 标记为已废弃。为了避免在每个依赖存储库中更新.gitmodule文件,我只想删除 RepoA 并将 RepoB 重命名为 RepoA 。
RepoA - 最新的开发分支具有提交ID 12345
RepoC - >子模块 - > 回购A (12345)
RepoB - 最新的开发分支具有提交ID 98765
RepoA - 删除或重命名为“过时”
RepoB - 重命名为 RepoA (以便其他存储库中的.gitmodule文件保持有效)
RepoC
- >子模块 - > RepoA (更名为 RepoB )(98765)
我尝试做了一些实验,但不确定我会遵循哪些步骤来保证安全而不会为 RepoC 用户带来太多麻烦。
非常感谢你的帮助!
答案 0 :(得分:0)
我会将Repo A的代码移动到根目录的子目录中,提交/记录此移动,然后删除该文件夹。然后我会将Repo B合并到根目录中的Repo A.这样您就可以在特定位置保留Repo A的代码历史记录。
破坏代码历史通常不是优选的。这并不是您正在寻找的,但您要求做的是让您的源代码系谱混乱并完全抹杀Repo A的历史。