创建新的git存储库以替换现有的git存储库

时间:2017-09-23 14:49:58

标签: git git-submodules

我有三个现有的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 用户带来太多麻烦。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我会将Repo A的代码移动到根目录的子目录中,提交/记录此移动,然后删除该文件夹。然后我会将Repo B合并到根目录中的Repo A.这样您就可以在特定位置保留Repo A的代码历史记录。

破坏代码历史通常不是优选的。这并不是您正在寻找的,但您要求做的是让您的源代码系谱混乱并完全抹杀Repo A的历史。