github多个仓库的归并聚拢问题

这个问题描述的一样,

场景是这样的,我本地有以下项目:
a类项目:a1、a2、a3、a4;
b类项目:b1、b2、b3、b4;
c类项目:c1、c2、c3、c4;
现在我想把这三类项目都传到github,上传有个几个目的

  1. 方便日后在线查看代码,基本只看不写
  2. 方便看到每个类都有哪些项目
  3. 后期可能会拉代码下来看commit信息

另外,因为仓库比较多,想上传的省事点,不想逐个项目上传。
在尝试了一些办法:

  1. 把a1、a2、a3、a4直接放在目录a下做成一个git仓库上传,发现在github不能直接查看具体> 项目,是一个链接的形式,点击之后没有反应
    github多个仓库的归并聚拢问题_第1张图片
    sub module, sourcetree的方法都不能满足

最终的解决办法是

创建大文件夹,归拢项目

以a类项目为例,新建一个文件夹a,然后把工程放入文件夹a,像下面这样

a/
  a1/
  a2/
  a3/
  a4/

给项目的.git文件改名

我们给a1、a2、a3、a4这些项目仓库里的.git文件换个名字,改成git。默认情况.git文件夹是不显示的,可以在命令行改。

mv .git git

我们之所以这么做,是因为:
a1本身是一个仓库,我们把文件夹a做成一个仓库的话,推到远端之后就会出现a1目录打不开的情况,所以这里我们需要处理下这些项目仓库。
因为git是通过.git目录里的文件来记录仓库的信息的。我们既要保留这些信息,但是还想他不是个仓库,那么我们只要给.git改个名字就行了,比如改成git目录,这样上传的时候a1就不是个仓库了(是一个普通的文件夹),当我们要看a1代码的时候把他拉下来,把git目录改回.git,a1就又是一个仓库了,可以查看commit信息。
这样对a1、a2、a3、a4都做这样的操作就处理好了。

初始化目录a,提交

把目录a做成一个仓库,提交到远端就ok了。

其他情况

如果你的a1、a2、a3、a4仓库都已经提交到远端了,只是想有个归拢入口的话,那么你可以用github的收藏夹功能。
操作如下:

  1. 我们新建一个收藏夹
    github多个仓库的归并聚拢问题_第2张图片
  2. star自己需要归拢的仓库,并且选择放入的收藏夹
    github多个仓库的归并聚拢问题_第3张图片
  3. 点击对应的收藏夹就可以看到自己归拢的仓库
    github多个仓库的归并聚拢问题_第4张图片github多个仓库的归并聚拢问题_第5张图片
    这样相当于我们用收藏夹创建了一个分类,替代了原来的文件夹功能。
    只不过这个方案有一个缺点,就是这个收藏夹是所有人可见的(只是收藏夹所有人可见,私有的仓库还是看不到的),所以在文件夹起名以及添加描述的时候需要留意。

你可能感兴趣的:(gitgithub)