当前位置:  开发笔记 > IOS > 正文

从子文件夹中Git多个子项目?

如何解决《从子文件夹中Git多个子项目?》经验,为你挑选了2个好方法。

我有多个项目,我想把它放到GitHub.com上.所有这些项目都在我当地的Git存储库中.我只有一个存储库,但是对于每个项目,我想要有一个GitHub项目.这样,项目就可以组织错误.

如何设置它以便管理起来并不困难?我是否需要重做我的存储库布局并在本地为每个项目创建新的git存储库?那将是真正的时间,我可能会失去Git的历史.

沃尔特



1> mipadi..:

根据您的回购协议是如何组织的,您可以使用git filter-branch创建一个新的回购对每一个项目,保留历史为每个项目.

假设您当前的repo结构是这样的:

repo/
  project1/
    project1-file
  project2/
    project2-file
  project3/
    project3-file

你可以先复制您的回购协议(git filter-branch 删除文件他们的历史,所以克隆原来的回购第一).然后,在您的克隆仓库中,您可以使用git filter-branch以下内容创建一个新的仓库(包含所有旧历史记录)project1:

$ git filter-branch --subdirectory-filter project1 HEAD

现在,您的仓库将如下所示:

repo/
  project1-file

它仍将包含project1/旧存储库中存储的所有文件的历史记录.

对每个项目重复该步骤,现在您将拥有三个独立的回购,其中包含相关项目的所有历史记录.



2> kubi..:

如果我理解这个问题,你就有一个包含许多项目的大型回购.您希望将每个项目分解为单个回购而不会丢失历史记录.底线是肯定的,你必须重做你的存储库布局并为每个项目创建新的git存储库.但是,你不需要失去历史.

    制作当前仓库的副本,每个子项目一份.

    在每个新的repos中,删除除与该repo关联的项目之外的所有其他项目.

在破坏原始仓库之前,您仍然拥有所有历史记录,但现在每个项目都是它自己的存储库.

如果您不介意丢失历史记录,那么将每个项目放入其自己的git repo就像git init在项目目录中运行一样简单.这将为该项目创建一个新的仓库.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有