跳过正文
  1. 博客/
  2. 后端/
  3. 软件/

git 工作流程

·3 分钟· ·
后端 软件
目录

git是当今流行的版本控制工具,一般我们可能只要会push, pull就可以了,
但是当我们同别人共同工作的时候,我们必须要了解git协同开发的一些重要流程.

前言
#

git作为当今最流行的版本控制工具之一,当时开发出来就是为了管理Linux庞大源代码的分布式版本控制工具.
由于Linux源代码过于巨大,仅靠一个人的力量是完成不了的,那就必须把工作分配下去,然后将代码合并,所以git一开始设计的时候就是一种分布式的、多分支的

概念
#

所以git最重要的就是分支这个性质,分支是什么呢.

要了解分支必须要了解git工作原理.

git工作原理很简单就是addcommitaddcommit….,简单来说就是添加记录,添加记录,保存快照,添加记录,添加记录,保存快照

git工作分支流程-来源网上

如上图,随着master分支快照的一个一个建立,软件就慢慢的迭代下去了

分支工作流程
#

接下来我们要着重讲一下分支,我们看到master分支的v0.1版本,我们已经开发出稳定的v0.1版,这时候我们决定开发一个新功能.

在这里我们分了一个Develop分支,我们在Develop分支开发新代码.

这时候我们发现v0,1的一个bug,假如是没有使用版本控制的话,一般人会停下手中的活,然后从当前的新代码处来修复这个bug,当这个bug很简单的时候,我们不会遇到很大困难,但是当bug藏的很深,而且新代码隐藏了这个bug,或者被这个bug影响,这时修复工作就变得很困难.

还好我们有git,我们从v0.1直接分一个Hotfix分支,这两个分支的父都是v0.1 ,我们直接从稳定版本修复,不牵涉到新代码,这样修改好后我们就能很快从Develop分支继续工作了

而且这样有一个好处我们将masterDevelop分支合并的时候很大可能不会产生冲突.

冲突(coflic)是什么了,怎么能避免呢?

从两个分支的父亲v0.1看起,我们每次改动一个保存文件就会产生一个modify(修改)的动作,我们假如分支里面都对同一个文件产生了modify(修改)动作,当我们合并的时候这就是一个冲突,git无法理解采用哪个分支的modify动作,这时候就要你人工来修改采用哪个分支.

假如没有相同的文件有modify(修改)动作,git就会聪明的知道采用每个分支的最新的modify(修改)修改出一份所以文件的最新版.

那我们怎么来避免这个冲突呢,这就要求我们分支要分的合理,分支只要完成特定的工作,不要越俎代庖,那有些人会说我这个分支一定要改父的耦合地方否则我的代码工作不了,这时我们要好好思考自己的分支的功能,把合并耦合的代码放在主分支里面,次分支只要完成特定功能就可以了,这样合并分支时候不但可以安全的merge(合并)了, 而且修改bug的时候也可以对症下药,直接在问题开始的地方修改.

相关文章

GitHub Education Pack
·3 分钟
后端 软件
GitHub推出一个对学生和教师的福利包,对于学生来说这是一个不小 的福利,只要通过一个edu邮箱就可以领取,但奈何国内有些无良人买卖 邮箱,所以GitHub对于.cn的邮箱一律拒绝,但是可以通过上传学生证的方法 得到验证,题主刚开始用学校邮箱试了试,失败了,抱着试一试的心态,上传了 学生证,没想到第二天就给我回复,并给我这个豪华大礼包,接下来我就介绍介绍 如何用这个包来.
在Linux下玩转Vim
·3 分钟
后端 软件
学了鸟哥的书前面基础后,突然想在Linux下用gcc玩C语言,然后了解到了Vim这个神一样的编译器,接下来经过超长时间虐心的安装无数插件无数依赖包,突然有种打自己一顿的感觉,还好终于把Vim装的和VS差不多了,接下来我介绍我安装Vim的经验吧。 # 我虚拟机下的Linux原来是红旗6的,但是我改了一下yum的包源成CentOS的并且全部update一下后就神奇的变成了CentOS6,虽然他们两个是同一家公司,但是总给我一种由盗版成了正版的感觉。。 # 闲话不多说,刚开始装第一个插件是Ctags # 刚开始装的时候我是在X-Windows里面的这里下载再转回shell敲
富文本编辑器CKEditor配置CKFinder
·3 分钟
后端 软件
由于网站要实现图片和文字的混排的上传 所以在网上找了富文本编辑器的插件,发现CKEditor这款还不错的插件
有用的几个Shell命令
·1 分钟
后端 软件
管线命令 (pipe): # 撷取命令: cut, grep 排序命令: sort, wc, uniq 双向重导向: tee 字符转换命令: tr, col, join, paste, expand 分割命令: split 参数代换: xargs 分割文档 # 长长的一大片文档有时我们并不愿意看到全部内容,我们只想关注 部分内容的时候了可以考虑使用分割文档命令
阿里云服务器初体验
·1 分钟
后端 软件
申请了一个阿里的15体验的云服务器,同自己玩的虚拟机还是有点不同的。 # 1.用户名和密码 # 找了半天没有找到那个是用户名,试了实例的id,没有用,最后终于在登录帮助名里面找到了,用户名竟然是root!!!!,我用的是Ubuntu系统,说好的Ubuntu不提供root权限的呢,阿里还真会改造Linux系统 ,但是我觉得用root登录还是不安全,我觉得新建一个用户吧
Numpy的简析
·3 分钟
后端 框架 Python
numpy简单来说就是python的C版数组实现,因为python原生列表虽然好使,但是生成大量数据时开销很大,而numpy是基于C的,生成大量数组非常简单,而且操作他们速度非常快.