千家信息网

Linux系统中如何使用Git分支协同开发

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章将为大家详细讲解有关Linux系统中如何使用Git分支协同开发,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、发布分支发布分支主要用作对之前提交代码的Bu
千家信息网最后更新 2025年01月17日Linux系统中如何使用Git分支协同开发

这篇文章将为大家详细讲解有关Linux系统中如何使用Git分支协同开发,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、发布分支

发布分支主要用作对之前提交代码的Bug修正,使修正过程和主线功能开发能够并行开展。

二、特性分支

特性分支主要用作将某个功能模块和开发主线独立出来,适合于开发周期长、实验性功能等具有特定特性的功能模块开发。

三、卖主分支

所谓卖主分支是在版本库中专门创建一个和上游同步的分支,一旦有上游代码发布就捡入到卖主分支中。

不管是何种分支,其操作过程无非一下步骤

1. 创建分支

(1)可以通过

git branch

然后切换到新分支:

git checkout newbranch

(2)或者直接

git checkout –d newbranch

默认是从最新commit即HEAD指向提交创建branch,此种方式一般用作临时分支,接受改动,并最终由master分支merge后删除。

但是在bug修改或者新模块开发等都需要从历史提交创建branch,此时在上面语句之后加上commit id或对应的tag。

2. 在新分支上开发

在这里通过git rev-parse查看不同分支的指向是否相同。

而git cherry命令可用于查看当前领先于origin的提交。

在新分支上的开发任务(开发任务可以是bug修复或是新模块开发)结束后,需要将新分支上的提交合并到主分支,这里大致上可以分为三种情况:

(1)使用merge

首先新建分支并完成工作commit后切换到主分支master,在主分支中"合并"创建的分支。如下:

注意merge后要指明将合并分支的名称。

(2) 使用cherry-pick

首先切换到master分支,然后对需要合并到主分支的newbranch历史提交执行拣选。

这种方式与方式(1)的不同之处是可以有选择的合并newbranch的提交而不是全部merge。

(3) 使用rebase

变基。使用变基操作,可以使分支的合并更清晰,审核更方便。操作:

在这里为了模拟master分支的改变我做了两次空提交,然后切换到newbranch执行rebase,此处的rebase操作相当于:

i)强制重置到master分支的提交

ii)将newbranch上的提交一一拣选到重置后的分支上。

在rebase之后还使用newbranch分支更新了远程版本库的master分支。通过rev-parse可以查看二者现在已经在一个提交上。

其它:

(1)多用户协同分支合作

在分支使用中,某一用户新建的分支可能会被其它用户使用到,如bug修复分支,可能会有多人需要工作在此分支上,那么在新建分支后,需要将此分支Push到远程版本库,以便其它用户能够pull到本地使用。

并且,在其它成员将branch pull到本地时不能直接checkout此分支,而是基于此分支创建新分支,如:

现在执行修改后提交发现问题:

问题是你本来的目的是想和其它成员在同一branch上协同工作,但是现在你创建了和协同branch不一致的分支,并且在远程版本库中并无此分支(如果有的话也达不到在同一分支协同的目的),解决方式是:首先将本地分支修改为协同分支名称然后在提交:

(2)备份分支

有时需要将本地分支进行备份,那么可以将分支推送到远程版本库。

git push origin

(3)删除分支

对于没有推送到远程版本库的分支,直接使用

git branch –d

删除,对于已经推送的则若需要将远程分支一并删除,在上述方式后使用:

git push origin :

关于"Linux系统中如何使用Git分支协同开发"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

分支 开发 版本 方式 模块 用户 切换 功能 卖主 特性 篇文章 工作 系统 不同 主线 代码 任务 功能模块 历史 名称 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ibm服务器硬盘备份 云服务器公司是干什么的 lostark服务器认证失败 郑州零点跳动网络技术有限公司 山西通用软件开发哪家便宜 站群服务器适用什么行业 超凡先锋开挂服务器 论述网络技术对教育机构的影响 社交网络安全调查报告总结 杭州丁税宝网络技术有限公司 东莞商城软件开发编程 软件开发人的思维方式 学党史网络安全发言 香港云服务器怎么选系统 大学计算机网络技术学什么的 天使之战各平台服务器划分 用友网络安全手抄报 暴风nas服务器是什么 如何查看服务器运行多久了 小学国家网络安全宣传日主题班会 抖音上软件开发 中专计算机网络技术专科有前途吗 中兴软件开发压力大不大 苏小妹哪个软件开发的 ubuntu搭建什么服务器 美康软件开发有限公司 嵌入式软件开发区鲸鱼简笔画 rfc服务器为什么打印不了 代理服务器认证 涿州丑牛网络技术有限公司
0