github系列(六)github orphan分支的使用

文章目录

  • 前言
  • 使用方法
    • Step1 创建仓库
    • Step2 创建orphan分支
    • Step3 提交代码
    • Step4 推送到远程仓库
    • Step5 创建其他orphan分支
    • Step6 切换分支
  • 克隆
    • Step1 先将该远程仓库克隆到本地
    • Step2 查看当前所有分支
    • Step3 创建本地分支
    • Step4 拉取远程仓库最新内容
    • Step5 修改代码并推送
  • 总结
    • 创建及提交
    • 克隆


前言

  • 自己近期在公司学习的时候练习的项目也比较多,但存放于公司电脑并不是一个合适的选择(不方便随处查看)
  • 再加上近期对 Git 使用比较多,就萌生了将项目传到 GitHub 仓库中进行管理
  • 起初想法是在一个仓库中建立文件夹来区分项目,后来感觉并不合适(每次从别处看的时候整个分支上的内容全clone下来了)
  • 最后发现 orphan 分支(将N个完全不同的项目作为N个分支放在同一个仓库中, 并且分支之间互不影响)完全可以解决该问题
    最后创建的仓库长这样:
    github系列(六)github orphan分支的使用_第1张图片主分支长这样
    github系列(六)github orphan分支的使用_第2张图片
    nodejs分支长这样
    github系列(六)github orphan分支的使用_第3张图片

使用方法

Step1 创建仓库

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

Step2 创建orphan分支

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

 git checkout --orphan Android

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

Step3 提交代码

执行如下命令进行提交:

git add ./
git commit -m "test"

Step4 推送到远程仓库

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

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

Step5 创建其他orphan分支

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

Step6 切换分支

上面已经成功提交到Android分支上了,当我们想写golang的demo的时候,可以切换到golang分支下,使用以下命令

git checkou golang

这时你会发现刚刚在Android分支下写的demo文件不见了(要切换到Android分支才能看到)

克隆

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

git clone [email protected]:~~~.git
cd xxx

Step2 查看当前所有分支

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

git branch -a

Step3 创建本地分支

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

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

Step4 拉取远程仓库最新内容

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

git pull

Step5 修改代码并推送

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

git push origin Android

总结

创建及提交

git init  (创建仓库)
git checkout --orphan Android
git add .(将修改的文件添加到索引)
git commit -m "修改信息" (提交修改信息)
git remote add origin https://github.com//.git (链接仓库)
git remote set-url origin https://@github.com//.git(token链接)
git push origin master (上传提交)

克隆

git clone [email protected]:~~~.git(克隆仓库)
git branch -a(查看分支)
git checkout -b Android origin/Android 或
git checkout -t origin/Android		// 默认会在本地建立一个和远程分支名字一样的分支
git pull

你可能感兴趣的:(GITHUB,github,git)