git分支开发的原理【转载】

Cesium 模拟飞机坠毁功能 Cesium 模拟飞机坠毁功能,粒子模拟 阅读详情

分支开发原理【https://blog.youkuaiyun.com/weixin_37861326/article/details/80097198】
原始文章内容【https://blog.youkuaiyun.com/zl1zl2zl3/article/details/52637737】

分支

分支(branch)有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作
1、如下图所示,版本的每一次提交(commit),git都将它们根据提交的时间点串联成一条线。刚开始是只有一条时间线,即master分支,HEAD指向的是当前分支的当前版本。
在这里插入图片描述
2、当创建了新分支,比如dev分支(通过命令git branch dev完成),git新建一个指针dev,dev=master,dev指向master指向的版本,然后切换到dev分支(通过命令git checkout dev完成),把HEAD指针指向dev,如下图。在这里插入图片描述
3、在dev分支上编码开发时,都是在dev上进行指针移动,比如在dev分支上commit一次,dev指针往前移动一步,但是master指针没有变,如下:
在这里插入图片描述
4、当我们完成了dev分支上的工作,要进行分支合并,把dev分支的内容合并到master分支上(通过首先切换到master分支,git branch master,然后合并git merge dev命令完成)。其内部的原理,其实就是先把HEAD指针指向master,再把master指针指向现在的dev指针指向的内容。如下图。在这里插入图片描述
5、当合并分支的时候出现冲突(confict),比如在dev分支上commit了一个文件file1,同时在master分支上也提交了该文件file1,修改的地方不同(比如都修改了同一个语句),那么合并的时候就有可能出现冲突,如下图所示。在这里插入图片描述
这时候执行git merge dev命令,git会默认执行合并,但是要手动解决下冲突,然后在master上git add并且git commit,现在git分支的结构如下图。
在这里插入图片描述
可以使用如下命令查看分支合并情况。

git log --graph --pretty=oneline --abbrev-commit  

6、合并完成后,就可以删除掉dev分支(通过git branch -d dev命令完成)。
在这里插入图片描述
如此,就是分支开发的原理。其好处也是显而易见的。

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程 【CC精品教程】iTwin capture倾斜摄影建模完整操作流程。包括:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软件(Pix4d、CC、EPS、PhotoScan、Globalmapper)像控点权重调配、空三加密、DOM、DSM、DEM,DLG生成、等高线生成、高程点提取,点云分类过滤分割、点云生成DEM、三维模型生成等。 阅读详情

相关推荐

【机器学习入门】1.4 吃透这些基本术语,才算真正入门

本文通过"挑西瓜"的生活案例,形象解释了机器学习的基本术语。样本对应单个西瓜,特征如色泽、根蒂等是观察维度,特征值是其具体表现,标签是西瓜的好坏判断。数据集是样本集合,特征向量是样本的数学表达,特征空间是所有可能的样本组合。文章强调数据集需划分为训练集、验证集和测试集,以评估模型的泛化能力。最后整理了术语对照表,并解答了常见问题。这些基础概念是理解机器学习的关键,建议读者重点掌握。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 653

Git分支branch详解

上一篇git的基本原理介绍了git最基本的原理和相关操作,这篇就来讲讲git的分支。 1.git的分支是什么 顾名思义,分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事,是不是有点像线程,最后分支做完事后合并到主线上而分支的任务完成可以删掉了。这样是不是很方便,主线继续做它的事,分支用来解决临时需求,二者互不相干。 git...

专注自动化、性能测试、测试架构学习交流 3万+

Transformer——从原理、模型架构到内部细节介绍

Transformer模型是一种基于注意力机制的深度学习模型,最早由Google在2017年的论文《AttentionIsAllYouNeed》中提出。自其问世以来就迅速席卷了自然语言处理他(NLP)领域,并在各类主流任务上取得了新的突破,包括机器翻译、语言建模、序列标注和文本分类等。在NLP领域取得巨大成功后,迅速扩展到了计算机视觉(CV)领域,并带来了革命性的变化。这种基于自注意力机制的深度学习模型,不仅在NLP任务中力压群雄,也成为CV领域的新宠。

小拉拉的博客 1万+

Git分支管理(Git分支的原理、创建、切换、合并、删除分支)

在上一篇文章中,我们学习了如何使用Git的一些基本操作,例如安装Git、创建本地仓库、配置Git、添加文件、修改文件、删除文件、版本回退等操作,现在我们来学习一下Git的必杀技特性:分支模型。

m0_61227789的博客 5812

【Codesys】获取从站信息,判断是否从站断联,总线丢失

获取EtherCAT从站信息,判断是否从站断联,总线丢失

qq_35316470的博客 5731

开源人形机器人硬件生态:关键技术、产业链与低成本突破 | OpenLoong 社区线下分享会

本文将深入探讨人形机器人硬件平台的关键技术、产业链与核心部件以及降低成本的策略。从硬件平台的核心技术,到机器人核心零部件的详细介绍,再到产业链各环节的协同发展以及实现低成本化的创新思路,将一同剖析人形机器人迈向广泛应用所面临的挑战与机遇,展望其未来的发展趋势,为开发者和相关从业者提供一些参考与启示。

OpenLoong_的博客 2419

Git中分支原理

分支管理 git的分支是git能如此受到人们喜爱很重要的一个原因,下边就聊聊git中的分支。 什么是分支 你每次commit提交,Git都把它们串成一条时间线,这条时间线就是一个分支。如果你不手动创建分支,只有一条时间线,在Git里,这个分支叫主分支,即master分支(Git会默认给你创建master)。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEA...

qq_38287315的博客 870

提示词驱动的智能合同生成与审核

第1章:核心概念与背景 1.1.1 问题背景 1.1.1.1 合同生成与审核的需求 合同作为商业和法律领域中的基本工具,其生成和审核过程至关重要。传统的合同生成往往依赖于法律专业人士的手工撰写,这不仅耗时耗力,而且容易出现错误。此外,合

AI天才研究院 999

Git--分支的原理与使用

添加⼀个新功能时,你肯定不希望因为⼀些实验性质的代码,把主分⽀搞乱了,所以,每添加⼀个新功能,最好新建⼀个分⽀,我们可以将其称之为feature分⽀,在上⾯开发,完成后,合并,最后,删除该feature 分⽀。在Git中,每个bug都可以通过⼀个新的临时分⽀来修复,修复后,合并分⽀,然后将临时分⽀删除。⼲活都在dev分⽀上,也就是说,dev分⽀是不稳定的,到某个时候,⽐如1.0版本发布时,再把dev分⽀合并到master上,在master分⽀发布1.0版本;

sushang的博客 1566

控制科学与工程(自动化)保研经验【1】——预备篇

个人情况 学校:中末流211 专业:自动化(学科评估B-) 年份:2019 排名:4/128 绩点:4.16/5 竞赛:三个国二(包括数模国赛美赛)、两个省一(机器人、电子设计竞赛) 【本科期间竞赛做的比较多,是我的一大亮点,可以在筛简历这关适当弥补专业排名的不足】 科研:一个校级的大创项目(水) 夏令营报名:中科大科学岛、中科大本部、自动化所、沈自所、北航(仪器17系)、山大、浙江大学、南开、同...

Control Everything 1万+

40.8K星爆火!Crawl4AI实战突破Cloudflare 5秒盾:AI反爬新范式,爬虫再也不被封

Crawl4AI的爆火(40.8K星)不是偶然——它解决了爬虫工程师最头疼的反爬问题,让爬虫从“体力活”变成“脑力活”,不用再花费大量时间配置指纹、编写行为脚本。但要注意:爬虫必须遵守目标网站的robots.txt协议,不得用于非法爬取数据(比如用户隐私、商业机密)。合理使用技术,才能长久落地。如果你在使用Crawl4AI时遇到具体问题(比如绕过更严格的反爬、批量爬取配置),欢迎在评论区交流,我会第一时间分享解决方案!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1603

【git系列学习】05:git分支branch详解

        上一篇git的基本原理http://blog.youkuaiyun.com/xiaoputao0903/article/details/23912561,介绍了git最基本的原理和相关操作,这篇就来讲讲git的分支。 1.git的分支是什么         顾名思义,分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又...

weixin_42072280的博客 1253

SAP FICO资产明细表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO资产明细表开发说明书(包括源代码,测试样例及FS)

我好像病了的博客 1467

Git 分支篇之分支原理

  为了理解 Git 分支的实现方式,我们需要先了解一下 Git 是如何储存数据的。Git 保存的不是文件差异或者变化量,而是一系列文件快照。 Git 的对象   Git 中主要有四个对象 Blob、Tree、Commit、Tag,都是以 SHA-1 值命名。   Blob 对应单个文件,它存储的是单个文件的内容,一般是二进制数据文本,不包含其他的文件信息,比如文件名、权限和其他元数据。   Tree 对应的是文件系统中的目录,主要包含每个文件的类型、权限信息、对应的 Git 对象类型、SHA-1值、文件

柚咖小窝 1274

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

git查看分支记录_git原理

标准用法请参考git-scm。本文记录笔者对git的一些理解,如有错误,欢迎指正。引用内容已用markdown记号标出。版权所有,转载请注明出处。文章完成中这是引用内容First Edition:2021-01-27文中的记号约定<当前分支>:用尖括号包裹,需要被替换软件环境笔者将介绍 命令行,TortiseGit,VS中git的使用git学习指引更适合把git当作某种数据结构来理解,...

weixin_34364239的博客 4284

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

git分支开发的原理

转载:https://blog.youkuaiyun.com/zl1zl2zl3/article/details/52637737分支分支(branch)有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你...

weixin_37861326的博客 5588

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

git上传分支的原理_理解git的分支原理,更好地使用git

文章内容转载于git-scm. 部分内容涉嫌枯燥一、git分支概念几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git...

weixin_36451983的博客 165

Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别

用例子来理解,图片+命令+文字。 Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别。 变基的原理。什么时候能使用变基。

夜中听雪的博客 9万+

git 从远程仓库获取所有分支

方法一: git如何clone所有的远程分支 git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下: 找一个干净目录,假设是git_work cd git_work git clonehttp://myrepo.xxx.com/project/.git,这样在git_work目录下得到一个project子目录 cd project git...

jisuanji198509的博客 2044

【转载】GIT教程 猴子都能懂得git入门

完整官方承认教程 猴子都能懂得git入门 https://backlog.com/git-tutorial/cn/ GIT 入门 GIT与其他的区别 git是一个开源的分布式版本控制系统,用以快速高效的处理项目从很小到非常大的项目的版本控制的所有事情。 直接记录快照,而非差异比较 Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于...

奔跑的犀牛先生 3103

git分支

Git的分支,本质上仅仅是指向提交对象的可变指针。Git的master分支并不是特殊分支,它与其他分支没有区别,之所以几乎每个仓库有master分支,是因为git init命令默认创建它,并且大多数人都懒得去改动它。如果想在开发过程中想创建分支进行相关操作,可进行如下操作: 分支创建命令: $ git branch testing 表示在当前所在的提交对象上创建一个名为testi...

weixin_30266829的博客 173

git同步远程仓库分支

转载于:https://www.jianshu.com/p/811b07b129e8 git命令 何谓同步远程分支?有两种情况, 1.本地有新分支,远程仓库没有。 2.远程仓库有新分支,本地没有。 3.本地删除了分支,远程也想删除。 4.远程删除了分支,本地也想删除。 第一种情况很好解决,将本地分支推送到远程仓库即可。 本文主要讲解后面几种情况的解决办法。 1.第二种情...

会飞的潜艇 2143

git branch查看不到分支的名字解决办法

git branch查看不到分支的名字解决办法 <!-- 1. 先初始化 --> git init; <!-- 2. 接着创建瑶瑶的专属分支 --> git checkout -b [分支名] <!-- 3. 最后查看分支 --> git branch; 问题描述: 一般我们在gitHub或者GitLab创建好仓库之后,如果把本地代...

weixin_30755709的博客 4188

git (三) 之git分支详述

在Git中分支的概念是极其重要的,对于团队的开发合作有很大的方便之处。下面来正式来介绍一下Git的分支的一些概念git分支作用举个例子吧。比如说你要在一个app代码上开发一个新功能,在一周之后你写了一部分,但还没都写完,你现在要是提交到仓库中,会导致别人又没法写代码,如果代码全写完在交的话,又有很大的风险。所以在这种情况下,分支就起作用了。你可以创建一个属于自己的分支,你可以提交到自己的分支上,每...

weixin_33688840的博客 124

Git(四)Git的分支管理

一.创建合并分支原理 在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的。 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支...

dengshuabi6933的博客 160

【转】git分支管理命令

1.何谓同步远程分支?有下面几种情况, 1.本地有新分支,远程仓库没有。 2.远程仓库有新分支,本地没有。 3.本地删除了分支,远程也想删除。 4.远程删除了分支,本地也想删除。 第一种情况很好解决,将本地分支推送到远程仓库即可。 本文主要讲解后面几种情况的解决办法。 2.第二种情况:远程仓库有新分支,本地没有。 这在之前我先介绍几个命令。 1.将某个远程主机的更新,全部取回本地:git fetch 2.查看远程分支:git branch -a 3.查看本地分..

专注探索c++,Linux等后台开发相关机制,欢迎关注,欢迎交流 242
上一篇: git的撤销与回滚【转载】
下一篇: uniapp引入字体样式和使用的方法
MarryLin2021
博客等级 码龄6年 12粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值