如何使用 GitHub 的单个仓库管理多个项目?

想要使用 GitHub 的一个仓库来管理自己多个项目?
不想建立多个文件夹而想要保持主分支的干净?
那么你只要看这篇文章就够了!

起因

自己近期在公司学习的时候练习的项目也比较多,但存放于公司电脑并不是一个合适的选择(不方便随处查看)

起初想法是在一个仓库中建立文件夹来区分项目,后来感觉并不合适(每次从别处看的时候整个分支上的内容全clone下来了)

最后发现 orphan 分支(将N个完全不同的项目作为N个分支放在同一个仓库中, 并且分支之间互不影响)完全可以解决该问题

方法

1.创建仓库

本地创建仓库,并连接到远程仓库

2.创建orphan分支

按需创建,我这里需要创建一个 Android 分支来单独存放 Android 代码,执行如下:

1
git checkout --orphan Android

分支虽然创建,但如果不进行提交的话远程仓库是没有该分支的

3.提交代码

执行如下命令进行提交:

1
2
git add ./
git commit -m "test"

4.推送到远程仓库

因为我们是在 orphan 分支上进行的操作,所以在推送的时候也要推送到相应的远程分支上

1
git push origin Android	// 注意:一定要推送到对应分支上

5.创建其他orphan分支

操作同上,但建议切换回主分支以后再新建 orphan 分支

克隆问题

当其他电脑或者其他人想要克隆该项目时该怎么办呢?

操作方法如下:

1.克隆仓库并进入项目

先将该远程仓库克隆到本地

1
2
git clone git@github.com:~~~.git
cd xxx

2.查看当前所有分支

使用如下命令可以看到远程的所有分支

1
git branch -a

3.创建本地分支

为了在某分支上工作,我们需要在本地创建一个和远程分支同名的分支

1
2
3
git checkout -b Android origin/Android
// 或
git checkout -t origin/Android // 默认会在本地建立一个和远程分支名字一样的分支

4.拉取远程仓库最新内容

使用如下命令将该分支上的所有内容全都拉到本地

1
git pull

5.修改代码并推送

注意推送到推送到对应分支上

1
git push origin Android