浅谈自我对git的初步认识
本学期我们新增了一门课程,那就是软件工程,不知道为什么,感觉有种莫名的高大上。哈哈!难道是这个名称太抽象了吗?这个问题我感觉到后来肯定就明白了。
第一次博客,感觉好紧张哦,嘿嘿!老师让我们谈谈对git的认识,说实在,这个词语我是第一次听说。然后我登录了github的网站,哇!都是英语啊!这个对于一个英语半文盲的我可怎么办呢?心里有种莫名的恐慌,按照老师的要求我注册了github的账号,接下来,就是查询一些关于git的资料,对git有了初步的理解与认识!
我感觉要想对git有初步的了解,先对我们的课程有个认识,毕竟,我们学习的是软件工程这门课程,老师让我们认识git。那么,我们先来看看课本上面对软件工程的定义:软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。撇下课本,说说自我对软件工程的理解:如果把一个软件开发的过程比喻成建设高楼一样,那么软件工程就是楼房的施工图纸,施工方案,解决施工过程中遇到的各种问题,争取把楼房建设的不但豪华,而且坚固。可以说,软件工程就是软件生命周期的保护伞,解决软件出现的各种问题!
接下来我在谈谈对git的认识,先来看一下git出现的背景,公元的某一天,Linux内核源代码版本控制系统的作者因突然宣布说我的这个版本控制系统不再免费,很多Linux内核开发者慢慢弃用这个软件。Torvalds大神决定寻找新的替代品,新的替代品必须符合几个要求:开源免费,高性能,支持分布式,支持非线性工作流,安全健壮,找了一段时间,发现没有符合要求的版本控制系统。这该肿么办呢?这个肯定难不倒大神,大神决定自己撸一个,大概花了不到2周的时间,一个可用的版本搞出来了,经过压力测试,分支合并速度贼快,大神很满意,于是乎用于Linux内核项目了。随着功能的不断完善,越来越多的开发者使用git来管理他们的代码,git就这样在开发者之间流行起来了。git来自于英国的俚语,意为“不受欢迎的人”,在git帮助文档中,大神把它描述为“傻瓜内容追踪器”,大神还是一位很有个性的人呵!言归正传,我们来看一下git的概念: git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。git与你熟悉的大部分版本控制系统的差别是很大的。也许你熟悉Subversion、CVS、Perforce、Mercurial 等等,他们使用“增量文件系统” (Delta Storage systems), 就是说它们存储每次提交(commit)之间的差异。git正好与之相反,它会把你的每次提交的文件的全部内容(snapshot)都会记录下来。理论上,git可以保存任何文档,但是最善于保存文本文档,因为它本来就是为解决软件源代码(也是一种文本文档)版本管理问题而开发的,提供了许多有助于文本分析的工具。对于非文本文档,git 只是简单地为其进行备份并实施版本管理。
那么什么“版本控制系统”呢?请看下面的介绍。版本控制系统是记录下所有文件的所有版本,可以有效地追踪文件的变化。当代码出错的时候,可以很容易地恢复到之前的状态。对于多人协作开发的项目来说,版本控制系统更是必不可少。它保证每个人都能够获取最近更新的代码,每个人开发的代码可以更方便地增加到项目中,避免不同代码之前产生的冲突,减小沟通成本。而git就是时下最流行的版本控制系统。
自我对git的认识是:git就是为软件的源代码管理而服务的,说白了也是软件工程的一个分支,那么本质上都是为制作一个优秀的软件做后台保障的!git与软件工程就是一家人!
这就是我对git的初步认识,这也是我第一次写博客,感觉萌萌哒,哈哈,有不好的地方,欢迎读者批评指正!
浅谈自我对git的初步认识的更多相关文章
- 浅谈GitLab与Git
前言:先解释下关于库的认识. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新增项目(远程仓库) 在GitLa ...
- 开发工具--浅谈Git
工具|浅谈Git Git这个工具,是我一直想写文章,终于我实现了我的想法.在我开始写之前,发表一下自己的看法,git只是一个工具,既然已经认定是一个工具,那么一定具备工具这类的共同特征,请用面向对象的 ...
- 浅谈GIT
浅谈GIT: 牛老师提出的git,于我而言,是一个陌生和新鲜的词汇,在此之前我从未听过git,按照老师的要求,我去搜索了关于git的介绍,有些看懂了,但大部分还是不懂得,在介绍中我了解git其实之前使 ...
- Git浅谈随笔之---如何工作
其他的版本控制工具我们常见的还有SVN,关于这两者的区别,我们不多谈,详见 Git 与 SVN 的区别 : Git是一种版本控制工具.用来记录文件内容的变化,备以后查阅某个版本的情况的系统:我们在Gi ...
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...
- 《Machine Learning in Action》—— 浅谈线性回归的那些事
<Machine Learning in Action>-- 浅谈线性回归的那些事 手撕机器学习算法系列文章已经肝了不少,自我感觉质量都挺不错的.目前已经更新了支持向量机SVM.决策树.K ...
- iOS开发之浅谈MVVM的架构设计与团队协作
今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
随机推荐
- linux下最大文件数
系统级:系统级设置对所有用户有效.可通过两种方式查看系统最大文件限制1 cat /proc/sys/fs/file-max 2 sysctl -a 查看结果中fs.file-max这项的配置数量如果需 ...
- js----全局变量和局部变量部分讲解
以此文作为自己学习的一个总结. 关于全局变量和局部变量的一句简单的定义:在函数外声明的变量都为全局变量,在函数内声明的为局部变量. 一.局部变量和全局变量重名会覆盖全局变量 var a = 1; fu ...
- mariadb的explain分析及InnoDB存储引擎
id: 当前查询语句中,每个SELECT语句的编号, id: 1 表示简单类型的查询 复杂类型的查询有三种:简单子查询,用于FROM中的子查询,联合查询:UNION 注意:UNION查询的分 ...
- js实现选项卡功能
1.css .liclick{ border: 1px black solid; background: #fff; float: left; width: 80px; height: 35px; l ...
- delphi 资源文件详解
delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...
- MIS2000 Lab,我的IT人生与职场--从零开始的前十五年 与 我的微创业
http://www.dotblogs.com.tw/mis2000lab/archive/2014/09/16/ithome_2014_ironman.aspx [IT邦幫忙]鐵人賽 -- MIS2 ...
- 创业日记-关于学习Python
2015年7月2日 深圳 阴天 学习Python有一个月了,总整感觉Python是一个比较小而灵活的语言. 为什么要学习Python 今年我已入行有9年了,一直在写C#,关于微软的集成环境也用的比较顺 ...
- webpack 学习笔记 01 使用webpack的原因
本系列文章实际上就是官网文档的翻译加上自己实践过程中的理解. 伴随着websites演化至web apps的过程,有三个现象是很明显的: 页面中有越来越多的Js. 客户端能做的事情越来越多. 越来越少 ...
- 转 在SQL Server中创建用户角色及授权(使用SQL语句)
目录 要想成功访问 SQL Server 数据库中的数据 我们需要两个方面的授权 完整的代码示例 使用存储过程来完成用户创建 实例 要想成功访问 SQL Server 数据库中的数据, 我们需要两个 ...
- 微软CRM解决医药企业串货之痛
没有准确.及时的流向数据统计和分析,医药企业营销部门就无法有效管理串货泛滥问题,串货会造成渠道无利可赚,挫伤渠道的积极性,产品无人愿意卖,最终伤害的还是医药企业. 医药企业营销发展的不同阶段对串货的态 ...