首页 > 工具  > 

深入了解Git的多种工作流

深入了解Git的多种工作流
本篇文章带大家了解Git,介绍一下git 的基础知识、以及基于 git 的多种工作流,希望对大家有所帮助!

本篇文章带大家了解git,介绍一下git 的基础知识、以及基于 git 的多种工作流,希望对大家有所帮助!

通过本文你可以了解到:

git 的起源

git 的基础知识

gitflow 流程的基本方式

基于 git 的多种工作流

在讲 Git Flow 之前,我们先讲讲别的东西

什么是版本?版是指印刷时的版,本就是印刷出来的书本;版本是一种称谓,用于描述同一事物的相互之间有差异的各种形式、状态或内容。换言之,任何事物只要有差异化都会涉及到版本这个概念,但是,我们这里说的版本,包括后面聊到的东西,都应该是一些有意义的版本,举个例子,小明 1 月 1 日 至 1 月 31 日 每天都在改一份策划书,2 月 1 号小明的甲方说还是上一个版本好,此时对于小明来说,上一个版本是什么?也许是最近一次小明发给甲方的一个方案,也许是上一个甲方说还可以的方案,但小明可能已经不记得具体是几号改完给甲方的方案了。

常见的版本控制有哪些?copy 文件以命名区分的方式、本编辑器的撤回/前进功能、使用专业工具如 svn、git 等等都属于版本控制的范畴,不同的版本控制有不同的用途,比如文本编辑器的撤回,可以轻松撤销本次修改,比如 copy 文件,可以让新旧文件同时存在,方便对比,但这些方式太过简单了,而且中间过程都是一些临时性的东西,不足以作为一个修改历史参考或者完整版本来看待,为此,还需要一些专业工具,如 集中式版本管理系统 SVN、CVS,分布式版本管理系统 BitKeeper、Git 等。

Git 开发背景

同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:速度简单的设计对非线性开发模式的强力支持(允许成千上万个并行开发的分支)完全分布式有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统(参见 Git 分支)。

1991 年 Linux 开发了 linux 系统这个开源项目,采用邮件发送源文件附带patch的方式进行写作开发,由 Linux 本人进行手工合并;

2002 年 BitKeeper 与 Linux 社区达成协议,允许 Linux 社区免费试用 BitKeeper,由于免费试用,协议内容更多地是保护 BitKeeper 自身。

2005 年 BitKeeper 不满 Linux 社区破坏协议内容(说白了就是反编译 BitKeeper,试图做破解版或其他),终止合作;

同 2005 年,Linux 花费了 2 周时间,开发了 Git 第一版,一个月内使用 Git 来管理 Linux 代码;

Git 基础知识工作区(Workspace)、暂存区(Index)、版本库(Repository)# 创建并进入 testGitFlow 目录# 此时 testGitFlow 就是我们的工作区(Workspace),也就是工作目录$ mkdir testGitFlow && cd testGitFlow# 初始化 git 仓库# 此时目录中增加了 .git 目录,.git 目录就是 git 仓库,不属于工作区$ git init# 新增两个文件$ echo 111 > a.txt$ echo 222 > b.txt# 添加两个文件到暂存区/索引(Index)$ git add .# 把索引中的两个文件添加到版本库(Repository)$ git commit -m 'init'

深入了解Git的多种工作流由讯客互联工具栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“深入了解Git的多种工作流