超详细图解说明:一个代码仓库如何管理多个项目、且代码提交互不影响。orphan分支的使用

我 | 在这里

🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 【2022届】
🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师)
🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲
✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州、广东-佛山、湖南-长沙、湖南-张家界、山西、上海、郑州等。老家河南嘞
🏷️ 标签 | 男 自律狂人 目标明确 责任心强
✈️公众号 | 热爱技术的小郑 。文章底部有个人公众号二维码。回复 Java全套视频教程前端全套视频教程 即可获取 300G+ 教程资料及项目实战案例
🚀 邮箱 | 2977429967@qq.com
✈️ GitHub传送门 开源项目 + 实战Demo
 
为何而写?
🍍 好记性不如烂笔头,记录学习的相关知识 、项目 BUG 解决
🍇 复盘总结,加深记忆,方便自己查看
🍑 分享知识,咱就是这么乐于助人、专注填坑20年、哈哈哈哈
 
目标描述
🏆 没有伞的孩子、只能用力奔跑。向着架构师的方向努力、做一个有始有终的人。

前言

如何使用代码仓库同时管理多个项目? 我之前写个人项目一般是一个代码仓库管理一套代码、这样随着项目增加、代码仓库就会越来越多。如果是前后端分离的项目,前端一个仓库,后端代码又一个仓库,很不方便管理。之前也写过一篇文章关于一个代码仓库如何管理多个项目,但是那个管理方式有个很大的弊端,在提交代码的时候,所有项目的代码都是提交在一个历史线上。而不是每个项目单独管理

这一篇文章将会彻底解决这个问题、网上我也查看了蛮多方法。感觉写的都不是很详细。我这里不仅会给出详细的方法、还会用实际代码验证。以及代码实战运用可能会遇到的问题。

我这里以GitHub为例

前提

讲解一下今天的主角:orphan

使用参数 --orphan,这个参数的主要作用有两个,一个是拷贝当前所在分支的所有文件,另一个是没有父结点,可以理解为没有历史记录,是一个完全独立背景干净的分支

git checkout --orphan的核心用途是在非新存储库上以类似git init的状态创建分支.

如果没有此功能,您的git分支的 all 将会有一个共同的祖先,即您的最初提交.这是很常见的情况,但绝不是唯一的情况.例如,git允许您将多个独立项目作为单个存储库中的不同分支进行跟踪.

1、创建代码仓库

如果不知如何创建代码仓库、请看我之前写的一篇博客:
一文教会你 如何在Github中创建仓库?

创建好的代码仓库
在这里插入图片描述

2、使用方法

2.1 克隆项目到本地

将本地的项目和远程项目建立练习、也可以通过其它的方式建立练习。这里提供较为简单的方式、直接克隆项目到本地

首先复制项目地址
在这里插入图片描述

将项目克隆到本地的某个位置

git clone 项目地址

在这里插入图片描述

2.2 创建orphan分支

按需创建,我这里需要创建一个 三个分支来单独存放一个项目的后端代码、商家前端、顾客前端。三套代码、所以我要创建三个分支。

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

# 1.创建orphan分支(注意创建了分支必须提交文件到该分支下,否则其实没有创建成功)
git checkout --orphan 分支名
# 2.提交到orphan分支下
git add .
git commit -m"desc"
# 提交三步曲只有这步不一样,需要指定分支
git push origin 分支名(确保一致)
# 3.切换分支,比如切换到golang分支(切换了文件会发生变化,只会显示该分支下的文件)
git checkout golang

我这里演示了创建分支的过程。重点说一下:如果你创建了分支、但是没有提交该分支到远程。你用命令git branch查看分支的时候是看不到刚刚创建的分支。必须提交后才可以、本地创建分支、并且提交后、远程会显示创建的分支的。
用到的一些命令
1、查看分支:git branch. 2、切换分支:git checkout 分支名. 3、添加文件暂存:git add . . 4、提交信息描述:git commit -m '提交信息描述'. 5、提交到远程 git push origin 分支名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 远程仓库分支情况

在这里插入图片描述

2.4 将项目代码提交到对应分支

我这里是写好的项目代码、之前是分开放在三个代码仓库、很难维护。这里放到同一个代码仓库。然后将三个项目分别放到对应的代码分支中。
在这里插入图片描述

后端一套代码提交到创建的后端代码分支中保存 过程较为简单、切换为该分支后,将要提交的代码添加到该分支、然后 commit 、push到该分支。具体过程如下:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其他分支代码不会改变
在这里插入图片描述

提交另外一套代码到代码仓库中

提交另外一套代码、要切换分支。git checkout 分支名.
具体提交过程如下、也可以使用git的可视化工具进行操作,将代码提交到远程分支就行。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 不同分支互不影响

在这里插入图片描述
在这里插入图片描述

3、遇到的问题

3.1 切换分支后,其它代码不可见?

就当我兴冲冲的打开编辑器查看代码的时候、发现只有当前分支下的代码可见。其它分支的代码则不可见、这就出现一个严重的问题,在进行前后端分离开发的时候,我需要前端和后端工程都打开,现在只能打开一个就不行。具体解决方法看3.2

在这里插入图片描述

切换分支后的情况
在这里插入图片描述

3.2 解决分支不可见问题(克隆某个分支下代码)

我是另外克隆项目到其它位置,然后单独拉取该分支下的代码。这样就可以解决这个问题。同时、也达到了。可以在不克隆整个项目的情况下、单独克隆某个分支下的代码。这样就可以,在代码仓库中,克隆管理多个项目中的某一个项目。

具体过程
步骤:
1、克隆项目到本地(换个位置)
2、拉取指定分支代码

由于远程已经开好分支,本地直接拉下来即可

git checkout -b feature-branch origin/feature-branch    //检出远程的feature-branch分支到本地

在这里插入图片描述
本地只有两个分支,当然你可也可以拉取其它的分支代码到这个目录,但是又变成之前那种情况。只能查看当前分支的代码,其它的看不到。目前我只想到了这个方式、大家有好的方式、可以分享到评论区。

在这里插入图片描述

这样就可以看到不同分支下的代码了、也方便自己修改。

前端项目代码
在这里插入图片描述

后端项目代码
在这里插入图片描述

3.3 Idea文件改动、文件颜色没变

版本控制的一大作用、是方便我们查看项目代码做了那些改动。结果我这里遇到了一点问题、修改代码文件后、文件颜色没有变化。不确定是不是由于之前该项目已经有过版本控制的原因。

解决方法、将版本控制的地址重新加载一下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、查看分支代码提交情况

这里后端的历史记录、只会看到当前项目的提交情况。不会关心其它分支的提交情况。
在这里插入图片描述

使用Vscode的插件可以看到的更加明的明显,这里是展示了所有分支的代码提交情况。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、查看远程仓库提交情况

在这里插入图片描述
在这里插入图片描述

6、不同分支代码改变、互不影响

像开发单个工程一样、不需要考虑其它工程代码改变带来的影响。
在这里插入图片描述

这个是之前一个代码仓库管理多个项目、很大的弊端。其中一个项目的代码改变、如果没有及时提交。其它项目提交代码的时候就会将这个未提交的一块提交。而且文件变化带来的影响也是很麻烦。很不利于开发。

在这里插入图片描述

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr.Aholic

整理不易、多谢支持

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

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

打赏作者

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

抵扣说明:

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

余额充值