github一个仓库管理多个项目 git orphan分支的使用

github一个仓库管理多个项目 git orphan分支的使用

前言

假如你想把A项目和B项目都放在同一个git仓库下管理,但是又怕项目间的文件相互混淆了,这时候就可以使用git的orphan分支。
orphan分支可以实现切换到某个分支就只显示当前分支的文件。
下面通过具体需求来演示一下使用方法,比如我有一个demo仓库,里面包含了php、golang等编程语言的demo,来看看我是怎么通过git orphan分支方式来进行管理的。
简单来说有三个步骤
①创建demo项目
②分别创建名叫golang、php的orphan分支
③写不同语言的demo的时候切换到该语言的分支

创建orphan分支

git checkout --orphan golang
git checkout --orphan php

这里我分别创建了一个名叫golang和php的分支,如下图所示
在这里插入图片描述
注意,如果没有在该分支下提交东西,则该分支其实并没有创建,下面随便改一点东西提交上去

提交文件到分支

其实提交到orphan分支和普通的提交并没有太大的区别,只是push的时候需要指定分支。命令如下

git add .
git commit -m"test"
git push origin php

切换分支

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

git checkou golang

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

总结

总的来说orphan分支的简单使用有以下几个命令

# 1.创建orphan分支(注意创建了分支必须提交文件到该分支下,否则其实没有创建成功)
git checkout --orphan php
# 2.提交到orphan分支下
git add .
git commit -m"desc"
# 提交三步曲只有这步不一样,需要指定分支
git push origin php
# 3.切换分支,比如切换到golang分支(切换了文件会发生变化,只会显示该分支下的文件)
git checkout golang
### 使用 GitHub 技术文档进行环境部署的方法 GitHub 是一种强大的工具,不仅用于版本控制和协作开发,还可以用来托管技术文档并实现自动化部署。以下是关于如何通过 GitHub 技术文档进行环境部署的相关方法: #### 1. 利用 GitHub Pages 托管静态网站 GitHub Pages 可以轻松托管静态网站或技术文档。开发者可以将其作为组件库、API 或其他项目的文档站点使用。为了实现这一目标,需要创建一个特定分支(通常是 `gh-pages`),并将生成的静态文件推送到该分支。 - 创建一个新的仓库或者选择现有的仓库。 - 构建静态页面内容,例如使用 Jekyll、VuePress 或 Docusaurus 等框架生成 HTML 文件[^1]。 - 将生成的内容推送至指定分支,并启用 GitHub Pages 功能[^3]。 ```bash git checkout --orphan gh-pages git add . git commit -m "Initial pages branch commit" git push origin gh-pages ``` #### 2. 配置 GitHub Actions 实现自动化部署 GitHub Actions 能够帮助设置 CI/CD 流程,从而简化从代码提交到最终部署的过程。对于技术文档来说,可以通过编写 YAML 工作流脚本来触发构建和部署操作。 - 编辑 `.github/workflows/deploy.yml` 文件,定义工作流逻辑。 - 定义触发条件(如每次推送到 master/main 分支时执行)。 - 添加安装依赖项、编译资源以及将产物上传到 GitHub Pages 的步骤。 示例配置如下所示: ```yaml name: Deploy Docs to GH-Pages on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Node.js environment uses: actions/setup-node@v2 with: node-version: '16' - run: npm install && npm run build-storybook - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./storybook-static/ ``` 上述脚本会自动检测是否有新更改被推送到默认分支;如果有,则重新生成 Storybook 并同步更新到对应的 GitHub Pages 页面上。 #### 3. Docker 容器化解决方案 如果项目涉及复杂的服务端应用而非简单的前端展示型文档,那么考虑采用容器化的方式可能更为合适。借助于 Dockerfile 和 Compose 文件描述应用程序及其运行所需的所有细节之后,再结合 GitHub Actions 来完成镜像打包与分发任务。 具体做法包括但不限于以下几个方面: - 准备好基础镜像及相关服务声明; - 推送定制后的镜像到官方 registry 中存储起来以便后续拉取使用[^4]。 --- ### 总结 综上所述,无论是针对纯前端性质的技术资料还是更广泛的软件产品介绍说明等内容形式,在基于 GitHub 进行相关部署方案设计的时候都可以充分利用其内置特性——Pages 加之 Actions 提供的强大扩展能力达成预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼c_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值