Git相关概念介绍

网上搜git的时候会看到一大堆git相关名词:Git、Github、Gitlab、Gitblit、msysgit、egit、TortoiseGit,然后就各种头疼~

初学Git的朋友对于Git的一些概念和一系列衍生的东西感觉到非常难以理解,总是把一些概念给混淆,下面我总结一下常用到Git相关的工具以及介绍一下具体的功能,为了让大家能够快速的理解,介绍的时候没有用到官方解释,都是自己理解的老百姓话,这样理解起来应该会容易一些!

另外这里只是介绍,让大家明白Git的一些概念,方便大家网上学习的时候不会搞乱,至于如何使用会在后续文章中慢慢教。


Git

这是一个统称,我们叫“分布式版本管理系统”,怎么理解“分布式版本管理系统”?用过SVN的人应该都清楚啥叫版本管理系统了,Git相对于SVN,就是在SVN的基础上把每个用户的电脑都当成了一台服务器,所以才会加上“分布式”三个字。当然不要太纠结于这个东西,因为Git可以理解为一个概念或者一系统产品的统称,具体要学习的还是下面的内容。


Github、Gitlab、Gitblit

既然Git是一个版本管理系统,那么肯定得有服务器来存储一些数据吧,这个服务器你可以有两种选择,一种是自己搭建服务器,一种是用云端的服务器,在SVN中只能自己搭建服务器,这也算是Git的一个特点吧。

如果你选择自己搭建服务器,那么就需要用到Gitblit这个东西,这是一个Git服务器端,直接运行就相当于搭建了一个git服务器。

如果你选择使用云端服务器,那么有两种选择,Github或者Gitlab,严格来说这是两个网站,他们支持你去注册一个账号,然后创建自己的仓库,和阿里云的概念有点像,但是既然是云端的东西,那么就存在一个现象,那就是公开,当然你创建的仓库可以自己选择是公开还是私有,Github和Gitlab都支持公开和私有两种方式,但是Github的私有库是需要收费的,gitlab的不用。有人就要说了,既然有云端的服务器,而且还支持私有库,那大家都用云端不就完事了吗?这里需要考虑到一个问题,那就是资料和代码的保密性,所谓云端是存储在别人的服务器上,而不是自己的,所以对于个人来说,可以使用云端服务器,而对于公司来说可以选择自己搭建服务器。


msysgit

上面说了git的服务器端,服务器和客户端这两个词在任何时候都是绑定在一起的,既然有服务端提供服务,那么肯定有客户端来使用,msysgit就是git的客户端,安装msysgit后会有一个git bash的工具可以运行,其实就是打开了一个客户端窗口,可以在里面敲客户端命令,和linux系统差不多,客户端可以做很多事情,下载资料、提交资料、打分支什么的,SVN能干的事他都能干。


TortoiseGit

这个东西是一个git的客户端外壳,怎么理解呢?msysgit上面说了可以打开一个黑窗口敲命令,但是这种方式比较原始,就好像现在哪还有人在编译JAVA的时候通过cmd窗口去编译时一个道理,所以就有人做了这个客户端外壳工具,TortoiseGit把msysgit所有的命令都封装了一下,帮你做了一些界面,然后把命令放到鼠标右键菜单里面去了,你通过鼠标右键上的菜单配合界面就可以完成msysgit做的任何事,这样一来程序猿就不需要记那么多的命令了,这多方便~


egit

程序猿干活肯定不是在资源管理器里面,都是在编码工具中,JAVA程序猿一般都是用eclipse,而在eclipse开发项目的时候,要经常性的更新代码和提交代码,总不能每次都到黑窗口中去提交吧,也不能总打开资源管理器通过右键菜单提交吧,这样多麻烦,所以这就出现了egit这个eclipse插件,只要在eclipse中安装这个插件,那么就可以直接在eclipse中进行git客户端的所有操作,非常方便~


不知道现在大家对于这些概念是否可以理解了呢?这样大家就可以针对不同的需求去学习了,比如如果你只是公司项目中需要用到git做版本管理的话,那么学习一下egit,把插件安装到eclipse中,然后看看怎么在eclipse中进行代码更新、提交等一些列操作就完全可以了,其它的都不用管。


转自:http://blog.csdn.net/duanwu2330323/article/details/77994203

你可能感兴趣的:(Git)