如何使用 GitHub 的单个仓库管理多个项目?
起因
自己近期在公司学习的时候练习的项目也比较多,但存放于公司电脑并不是一个合适的选择(不方便随处查看)
起初想法是在一个仓库中建立文件夹来区分项目,后来感觉并不合适(每次从别处看的时候整个分支上的内容全clone下来了)
最后发现 orphan 分支(将N个完全不同的项目作为N个分支放在同一个仓库中, 并且分支之间互不影响)完全可以解决该问题
方法
1.创建仓库
本地创建仓库,并连接到远程仓库
2.创建orphan分支
按需创建,我这里需要创建一个 Android 分支来单独存放 Android 代码,执行如下:
1 | git checkout --orphan Android |
分支虽然创建,但如果不进行提交的话远程仓库是没有该分支的
3.提交代码
执行如下命令进行提交:
1 | git add ./ |
4.推送到远程仓库
因为我们是在 orphan 分支上进行的操作,所以在推送的时候也要推送到相应的远程分支上
1 | git push origin Android // 注意:一定要推送到对应分支上 |
5.创建其他orphan分支
操作同上,但建议切换回主分支以后再新建 orphan 分支
克隆问题
当其他电脑或者其他人想要克隆该项目时该怎么办呢?
操作方法如下:
1.克隆仓库并进入项目
先将该远程仓库克隆到本地
1 | git clone git@github.com:~~~.git |
2.查看当前所有分支
使用如下命令可以看到远程的所有分支
1 | git branch -a |
3.创建本地分支
为了在某分支上工作,我们需要在本地创建一个和远程分支同名的分支
1 | git checkout -b Android origin/Android |
4.拉取远程仓库最新内容
使用如下命令将该分支上的所有内容全都拉到本地
1 | git pull |
5.修改代码并推送
注意推送到推送到对应分支上
1 | git push origin Android |