Git概述

凌晨四点的Commit
• 阅读 1669

一直以来想出一个Git的教程,去年写过一篇,后来没了下文,烂尾了。最近忙里偷闲,还是想把这个Git系列写一遍,这次争取写完。

本文我主要想先简单介绍下Git,然后介绍下Git的安装。

毫无疑问,Git是目前最优秀的分布式版本控制工具,木有之一,可是我见到的很多人还是不会用,我的老东家每天忍受着SVN带来的痛苦,却迟迟不愿切换到Git上,个人感觉,许多中小公司不用Git,不是因为Git不好,而是他们的项目经理不会用(逃。

OK,那么今天我们就先来简单介绍下Git的发展史以及Git的优点,然后再来看看Git的安装。

Git诞生记

Git诞生于2005年4月,由Linux的作者Linus Torvalds花费了两周的时间用C写了一个分布式版本控制系统,这就是Git1.0,大牛写代码就是这么666666。其实早在Git之前,这个世界就已经有一些非常流行的版本控制工具(VCS),比如CVS,SVN,ClearCase等,然而这些工具要么运行慢,要么要收费,都不是Linus Torvalds的菜,当时,有一个公司叫做BitMover,该公司有一款产品叫做BitKeeper,这是一个分布式版本控制工具,但是这是收费的,不过这是一个有情怀的公司,老板Larry说服Linus Torvalds使用BitKeeper来管理Linux内核源码,于是,在2002到2005年之间,Linux内核开发团队一直使用BitKeeper来管理Linux源码。可是在开发的过程中,Linus Torvalds有一个叫做安德鲁·垂鸠的小伙伴不安分了,他写了一个简单程序,可以连接BitKeeper的存储库,BitKeeper著作权拥有者拉里·麦沃伊认为安德鲁·垂鸠对BitKeeper内部使用的协议进行逆向工程,决定收回无偿使用BitKeeper的授权。合作无法继续,于是Linus Torvalds决定自己开发一套分布式版本控制工具,就是Git,至于这个分布式版本控制工具为什么叫Git,Linus Torvalds并没有给出一个让所有人满意的解释,倒是很多开发者一直尝试去给Git一个合理的解释,常见的一个解释就是Global Information Tracker(中文译作全局信息追踪器)。如果当年不是BitMover公司的逼迫,估计我们还不一定见到这么优秀的分布式版本控制工具。值得一说的是,2016年5月11日BitKeeper宣布以Apache 2.0许可证开源(新闻链接http://www.solidot.org/story?...),我很好奇BitKeeper宣布开源的时候他的老板心中是何感受?

Git的优势

Git一出世立马就成为最流行的分布式版本控制工具,2008年4月,GitHub正式上线,GitHub是一个利用Git进行版本控制,专门用于存放代码与内容的共享虚拟主机服务,GitHub上线之后,许多开源项目都移植到GitHub上了,不管你从事那门语言的研发,都会在GitHub上找到你需要的项目吧!OK,说了这么多,接下来我们也该说说Git这个分布式版本控制工具的优势了。Git主要有以下几个优势:

1.与传统的集中式版本控制工具不同,分布式版本控制工具不需要联网就可以工作,每台电脑都是一个完整的版本仓库。
2.Git可以胜任上万人的开发规模,这个大家看看GitHub中的开源项目就知道了,不需要我多说。
3.性能优异。我们前面说过Linus Torvalds之所以不愿意使用CVS、SVN等版本控制工具就是因为这些工具的性能太差。所以Linus Torvalds在开发Git时就决定要革除积弊,确保Git的运行效率。笔者在上家公司做开发时,深受SVN的毒害,但是公司还是不愿意迁移到Git上,我猜测是由于项目经理不会用。
4.保证项目的安全。我们知道,在SVN之前还有一个集中式版本控制工具叫做CVS,这个CVS有一个问题,就是你的文件有的时候会莫名其妙的丢失,做开发的各位筒子都知道,如果你的项目中突然有一个文件不见了,你不出一身汗才怪。所以,Git使用SHA1这种通用的加密散列函数来对数据库中的对象进行命名,从而来确保文件的安全。
5.好用的分支。用过Git的人都知道Git中的分支用起来有多么爽,分支在我们的项目中用的非常普遍,可是SVN虽然也有分支,但是却不能像Git用的这么爽。这个做过项目的筒子都知道。我们到后文会给大家详细介绍分支的用法。

OK,Git的优势还有很多种,这里我就不再一一列举了,有兴趣的大家自行搜索。

Git的安装

作为一个屌丝码农,我的本子还是windows,不过我的本本装了双系统,所以我这里就只给大家演示一下Windows下如何安装Git以及Ubuntu下如何安装Git。

windows7安装Git

windows安装Git整体上来说有两种解决方案

A:安装Cygwin(下载地址http://cygwin.com/)用来模拟Linux运行环境,但是Cygwin大配置非常麻烦,容易出错,所以一般不推荐这种方式。
B:安装独立的Git,也就是msysGit(下载地址https://git-for-windows.githu...),这就是一个简单的exe文件,一路next就安装成功了。安装成功后,在你的开始菜单中找到Git Bash,点击Git Bash,输入git --version查看git版本号,运行界面如下:

Git概述

Ubuntu安装Git

ubuntu安装Git就是一句话:

sudo apt-get install git  

早期的Linux版本直接运行下面的代码即可:

sudo apt-get install git-core  

安装成功之后,输入git --version查看git版本号。

基本配置

不管是Windows安装还是Linux安装,安装好之后,我们都先通过如下两行命令做一个基本配置,配置的信息将展示在我们每一次提交的后面,所以不要使用不方便公开的信息,如果不配置以后每次提交的时候都会让你输入用户名和密码,如下:

$ git config --global user.name "zhangsan"    
$ git config --global user.email "111@qq.com"

这个配置会保存在当前用户目录下的.gitconfig文件中,如下:

Git概述

OK,本文我们就先说到这里,有问题欢迎留言讨论。

参考资料:

1.《GitHub入门与实践》
2.《Pro Git》

更多JavaEE和Git资料请关注公众号:

Git概述

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
Git上传项目到github
Git入门个人理解git就是一个上传工具,同时兼具和svn一样的版本控制功能(此解释纯属本人个人观点)Github是什么github就是一个分布式版本管理系统(反正我就是这么认为的,你咬我呀)好了,开始干正事1.第一步先安装git,这里就不过多的赘述了2.安装完成打开就是这个样子的!这里写图片描述(https://sta
Stella981 Stella981
4年前
Git之SSH公钥与私钥
今天来探讨一下如何使用Git的操作,来进一步的实现代码的下载到本地,我原来也不是很明白git中生成公钥和私钥的作用,我一直在想,git里面你把自己的公钥发给了git的服务器,他是怎么判断的,每一次我换完系统,在重新装机,他是怎么确定是换完系统还是依然可以使用git的,今天我们就来讲解一下最为简单的SSh的方法的clone项目的操作:1.下载git的客户端
Stella981 Stella981
4年前
Linux上安装git并在gitlab上建立对应的项目
1.CentOS上面安装git我所用的CentOS为CentOS6.5,其他版本没有测试。yuminstallgit 安装之后查看git版本信息gitversion2.配置git信息gitconfigglobaluser.name"yourname"gitconfigglobaluser.em
Stella981 Stella981
4年前
Git的初始化配置和基本命令的使用
首先说下什么是Git,很多人会把Git和GitHub搞混淆。Git是一个版本控制的工具;GitHub是一个网站,只不过是基于Git的。安装Git就不累述了,自行百度。这里主要说下,初次运行Git的配置和Git基本命令的使用。初次运行Git的配置(windows系统):打开Git命令行输入以下命令:gitconfigglobaluser.
Stella981 Stella981
4年前
IntelliJ IDEA(八) :git的使用
项目管理离不开版本控制,目前主流版本控制工具大概就是SVN和Git,至于两者有啥区别这里就不详细介绍了,如果有不明白的可以上网查资料,后期如果有机会我再开篇栏目细说,而且现在市场上Git的使用率已经远远高于SVN。我们在用IDEA开发项目的时候如何熟练使用Git来控制代码版本呢?一、安装Git使用Git当然需要先安装Git,安装过程就
Stella981 Stella981
4年前
GitLab 安装配置指南
GitLab在CentOS7系统上的安装配置指南1、简单介绍GitLab是利用RubyonRails开发的一个开源版本管理系统,实现一个自托管的Git管理仓库,可通过Web界面进行访问、管理控制权限。Git的家族成员介绍Git:是一种开源分布式的版本控制系统,是一个命令,是一种工具。是伟大的程
Stella981 Stella981
4年前
GitHub和SVN的区别
GitHub和SVN的区别之前用的版本控制系统是SVN,但是最近因为流行使用GitHub,这篇文章认识一下Git和SVN的区别。1)Git是分布式的,SVN不是: 这是git和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上
Stella981 Stella981
4年前
Git 版本控制管理(一)
  Git是一个分布式版本控制工具,它的作者 LinusTorvalds 是这样给我们介绍Git —— Thestupidcontenttracker(傻瓜式的内容跟踪器)关于Git的产生背景在此不做讲解,有兴趣的可以搜索一下。先介绍一下Git的特点,主要有两大特点:版本控制:可以解决多人同时开发的代码问题,也可以解决找
Wesley13 Wesley13
4年前
VS2012连接到osc@git
osc终于全面开放git库了,这是我一直期待的事,也是促使我从CSDN转回OSC社区的重要原因之一。而这次我来教大家如何用osc@git来进行简单的版本控制。对于git,我自身也是近几周才开始学习,有错漏的地方希望可以指出。准备:1.osc@git上的一个账号2.为系统安装上GitExtensions3.为vs2012安装上G
Stella981 Stella981
4年前
Git学习心得
首先,什么是git?我想对于业内人士再熟悉不过了,但是对于一个普通人或者几天前才认识Linux的我来说,在听到git这个单词的时候心里大概只会有这句话“这是什么鬼...“。在经过两天的学习之后,我了解到git就是一个用于Linux开发的版本控制工具,与常用的版本控制工具不同,它采用了分布式版本控制的方式。git具有交流方便,速度快的优点,这对于一个项目的开
小万哥 小万哥
2年前
Git安装和配置教程:Windows/Mac/Linux三平台详细图文教程,带你一次性搞定Git环境
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发领域。随着开源和云计算的发展,Git已经成为了开发者必备的工具之一。本文将为大家介绍Git在Windows、Mac和Linux三个平台上的安装和配置方法,带你一次性搞定Git环境Windows平
凌晨四点的Commit
凌晨四点的Commit
Lv1
角声吹彻小梅花。夜长人忆家。
文章
3
粉丝
0
获赞
0