git入门
2018-06-17 23:26:01来源:未知 阅读 ()
参考了来源于网络的廖雪峰老师的git教程和相关视频课程,梳理了一下,写一下心得,整理给大家。相对于github,码云更好用一些,不过用法上差不多,所以就以码云的操作为例。
什么是git?
Git是目前世界上最先进的分布式版本控制系统,也就是逼格的缩写,开发人员必备的利器,操作简单而且真的很实用。
简单的粘贴一段git的由来:
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。
git的基本操作
我使用的是windows10,64位的操作系统(虽然不建议在windows上操作,但是处于学习阶段windows还是使用的很流畅的,大家也可以使用linux虚拟机练习),所以我安装了win10,64位的git。
首先,如图,我们的工作区为我们创建的项目的文件夹,所以我们第一步要进行工作区的创建,也就是创建一个新的文件夹。
第二步,在码云上创建项目。
默认项目里只有一个readme文本文件。复制项目的链接(未注册ssh公钥使用https的地址绑定)。
第三步,返回到工作文件夹,右击git bash here,输入git init进行工作文件夹的初始化(就是给仓库进行装修,使仓库更便于管理)。
初始化完成会生成隐藏文件夹.git,说明这一步完成了(这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了)。
第四步,仓库完成初始化连接云端。
第五步,将云端数据拉到本地已初始化好的仓库。
此时,云端的文件存在仓库中。
接下来要保证仓库与云端同步,开发者要将修改的项目版本上传需要如图的三个步骤,add->commit->push。当然这三个步骤是有必要的。
git add
告诉Git,把文件添加到仓库,git commit
告诉Git,把文件提交到仓库,-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。git commit
命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。
为什么Git添加文件需要add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add
不同的文件。
对于项目的操作,修改
我们的仓库中分为工作区(实际项目)与.git(git版本库)。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
概念有点多,简单的来说就是我们要上传项目时:
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master
分支,所以,现在,git commit
就是往master
分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
add->commit->push的操作顺序,最新版本就被上传到项目同步了(每次修改过后把修改逗得文件add就可以了)。
附加:http://git.mydoc.io/?t=180845,码云的公钥管理操作方法。绑定公钥就不用每次push都输邮箱和密码了。
同步参与别人的项目
第一步要先fork,克隆出自己的分支。
连接的云端要是自己的分支,就是fork以后的分支。
同步要连接的项目地址,对项目进行操作,然后
基本上git的简单操作了就这些了,几分钟就能学会,但是在开发的过程中十分有帮助。
最后附上廖雪峰老师原版的课程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375233990231ac8cf32ef1b24887a5209f83e01cb94b000
有兴趣的可以看看原版专业的,我写的就自己总结一下给自己看的。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:购物车 python作业
- 小白如何入门 Python 爬虫? 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- 编程小白的第一本python入门书(高清版)PDF下载 2019-07-24
- 初始Python 2019-07-24
- Python入门学习——PyQt5程序基本结构 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash