GITHUb
目前世界上最先进的分布式版本控制系统(没有之一)
集中式Vs分布式
集中式版本控制系统:
1、原理:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器
2、比喻 :中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆
3、缺点:必须联网才能工作
4、实际应用:
开源免费的:
CVS(最早的开源而且免费的集中式版本控制系统)由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况
SVN(修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制系统)
收费的:IBM的ClearCase(以前是Rational公司的,被IBM收购了)安装大,运行慢
分布式版本控制系统:
1、原理:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,工作的时候,就不需要联网了,每个人电脑上都有一个完整的版本库,当我在自己电脑上改了文件A,同事在他的电脑也上改了文件A,我们只需把各自的修改推送对方,就可以互相看到对方的修改了。这样就实现了多人协作。(实际使用时很少在两人之间的电脑上推送版本库的修改,因为必须要在一个局域网内,两台电脑才能互相访问)
2**、优点**:安全性提高很多,每个人电脑里都有完整的版本库,某一个人的电脑坏掉了直接从其他人那里复制一个就可以。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了
3、实际应用:开源免费的:GitHub,是最快、最简单也最流行。商用的:BitKeeper,Mercurial和Bazaar等。
GitHub安装
步骤:
1、直接从官网下载:https://git-scm.com/downloads
2、安装完成后,找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西说明安装成功
3、最后一步设置,在命令行输入
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
GitHub下载代码方式
GitHub 有三种方式下载代码:
HTTPS:使用登录 github 的用户名和密码,即可clone 项目。
SSH:通过上传 SSH key 到 GitHub 后台,这样无需密码即可 clone 项目。
GitHub CLI:平台提供管理仓库的终端工具,还可以使用 Github 提供的一些额外功能。
免密下载代码
配置ssh key,可以免密下载Github代码,既方便又安全,需要使用到 ssh-keygen 工具。
# 1、打开 Terminal(终端),查看已有密钥(.pub后缀的文件名)
$ ls -al ~/.ssh
# 2、如果没有就创建一个
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 3、复制下面输出到剪切板(下面两个适用mac系统)
$ cat ~/.ssh/id_rsa.pub
$ pbcopy < ~/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub | pbcopy
# 4、登录github官网,按照这个路径新建 SSH key
Settings --> SSH and GPG keys --> New SSH key
1、填写名字(随意填写,保证下次看到能明白是哪里的key);
2、粘贴剪切板内容到key的输入框中;
3、保存。
# 5、Terminal(终端)检查是否可以成功连接
$ ssh -T git@github.com
# 6、Github随便找个项目,测试下载,看看是否成功
$ git clone git@github.com:shipwright-io/build.git
GitHub 与 Git 的区别
Git和GitHub是两个完全不同的概念!
Git是一个版本管理工具,开发者将源代码存入名叫“Git 仓库”的资料库中并加以使用,由Linus Torvalds编写。
GitHub 是在线的基于Git的代码托管服务,2008年由Ruby on Rails编写而成。
GitHub 除提供 Git 仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。
要想更好地使用GitHub,学习Git是必备之路!