打破github单回购与历史和多个文件夹



我们有一个被多个项目堵塞的回购,所以它现在是单回购。

我们需要将多个文件夹连同它们的历史记录一起分解成新的转发。即:

Current repo "Monorepo" folders:
- Foo_1
- Foo_2
- Bar_1
- Bar_2
- Bar_3
- Stuff_to_keep_here
- Total_junk_1
- Total_junk_2

每个文件夹都包含各种文件,Foo是一个项目,Bar是另一个项目。Total_junk是我们不想污染任何repo历史记录的东西(csv文件、jpgs等(。一旦Foo和Bar项目爆发,我们就不需要再把它们放在Monorepo中了。

我看了几个小时的youtube视频,读了很多问答;SO上的一个帖子,我找不到一个适用于我们案例的。他们都只带了一个文件夹到新的仓库,或者他们做了一个似乎不起作用的镜子,或者其他一些细节让我达不到目标。

有人能提出一个解决方案吗:

  1. 允许将多个文件夹分解为独立于原始存储库的新存储库
  2. 有历史
  3. 这允许旧的repo删除这些文件夹
  4. 但也允许删除其他历史记录

在测试和评估多条路径后,我发现2条路径可以在对原始回购风险最小的情况下工作。

  1. 导入回购-https://docs.github.com/en/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.如果您想复制整个回购,然后从那里进行编辑,则此选项效果良好。

  2. 拆分子文件夹-https://docs.github.com/en/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.这正是我们想要的。虽然它不会拉出根目录中的文件,所以它是以子文件夹为中心的。可用于创建多个子文件夹(链接中的示例(。

为了我们的目的,我们正在实施#2。

最新更新