1 Git的诞生
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
第一步:打开官网:https://github.com 注册一个帐户。第二步:创建仓库 填写仓库的名字和描述。创建好了之后,点击“Branch master”,创建分支——在文本框中输入分支名称和描述,然后点击蓝色部分确认。第三步:点击创建。
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和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与github的交互:
2 安装git bash工具
要使用git及与github交互,需要使用一个命令行工具bit bash,下载并安装它。
3 初始化本地库
通过clone远程仓库或本地创始化,会创建一个.git文件夹(隐藏属性)。
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
4 修改本地库
1、安装好之后搜索GitHub到达官网在上面搜索12306。2、登录账号之后点击这里,在点击zip下载压缩文件。3、解压这个文件之后,别放在C盘即可,之后按住shift+右键打开命令窗口。4、pip3 install -i h***s:--pypi.tuna。.
先对readme.txt做个修改。
然后,在工作区新增一个LICENSE文本文件(内容随便写)。
用git status可以查看状态。
5 添加文件到暂存区
使用两次命令git add,把readme.txt和LICENSE都添加。
现在,暂存区的状态就变成这样了:
6 将暂存区的修改提交到分支
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的。
现在版本库变成了这样,暂存区就没有任何内容了:
7分支管理
企业回深圳市红典咨询有限公司主营业务包括国际设计奖项申报、工业设计及申报,为企业提供专业的奖项咨询服务,通过专业的设计指导和制作专业的参赛资料,帮助企业轻松赢取国际大奖。我们具备从产品选型、产品CMF优化指导、产品研究、竞品分析、产品创。
分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先需要安装git 官网中对于git的安装描述得很清楚,无论你是什么操作系统。
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
8 添加远程库
首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。
9 本地仓库关联远程库
$ git remote add origin
或者:
1、 打开任意一个GitHub仓库的主页,点击目录右上角的绿色按钮。2、 可以看到有两个选项,点击第二个DownloadZIP即可直接下载项目所有的源代码的压缩文件。3、 下载完成后运行文件进行解压。4、 解压完成后即可在本地编辑运行。
10 本地库的所有内容推送到远程库
$ git push -u origin master
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样。
把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
github使用教程:1. 在系统天堂下载Github for Windows,然后安装就不说了 2. 登陆,安装好后打开GitHub,用你的GitHub账号登陆。需要注意的事,Github for Windows会帮你创建SSH Key,你打开邮件应该会收到邮件帮你创建SSH 。
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!
ref
-End-