初识Git
在学习Git之前,我们应该明白为什么要学习Git以及Git能帮助我们做什么:
比如在日常开发中,多人对一个共享文件进行代码编写,每个人有每个人的版本,如果你不借用Git,先进行编辑的人所做的修改内容会被覆盖掉,或者说如果客户要求你代码版本是之前编写的,但现在所编写已经将之前的编写删掉,找不到之前编辑的版本,这就很坑爹,基于这种情况 Git版本管理系统 应运而生。
Git是一个免费的、开源的 分布式版本控制系统 ,可以高效地处理从小型到大型的各种项目;Git利于学习,占地面积小,性能极快。它具有廉价的本地库,方便暂缓区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce和ClearCase等版本控制工具。
版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统,在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,便于查看更改历史记录,备份以便恢复以前版本的软件工程技术。其最主要的是可以记录文件修改的历史记录,从而让用户能够查看历史版本,方便版本切换。简单说:用于管理多人协同开发项目的技术。
版本控制分类:
本地版本控制:
记录每次文件的更新,可以对每个版本做一个快照,或是记录补丁文件,适合于个人,如RCS。
集中版本控制:
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,缺点是:一旦服务器出现损坏或者网络问题,用户就不能看到历史版本甚至会丢失所有数据,其代表产品:SVN
分布式版本控制:
所有版本信息仓库同步到本地的每个用户,这样就可以查看所有版本历史记录,只需在连网时push到相应的服务器或其他用户那里,不会因为服务器的或网络问题,造成不能工作的情况,缺点是:每个人都拥有全部代码,容易造成安全隐患,比如携码跑路......
Git和SVN的区别:
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网,因为版本都在自己的电脑上,可以直接看到更新了那些代码和文件。
SVN是集中式版本控制系统,版本库是集中放在中央服务器中,工作时需要自己的电脑从中央服务器得到最新的版本,然后工作,完成工作后把做完的内容推送到中央服务器中。
常见的版本控制工具:
Git、SVN、CVS、VSS、TFS、Visual Studio Online
版本控制产品很多,现在影响力最大且使用最广泛是Git,我们学习的应该也是最主流的技术Git,其它了解即可。
Git工作机制
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为:“远程库”。
托管中心基本分两类:局域网上的 GitLab,和互联网上的 Github(外网)、Gitee(码云,国内网站)
Git的安装与配置
Window平台安装(主讲)
在 Window 系统上安装 Git 可以到 Git官网上下载:Git官网 (属国外的站,下载慢可以找国内的一些镜像网站,百度很多,这里不在赘述)
安装过程中建议可以勾选这几个选项,可以在桌面右键点击,菜单栏里面是可以看到的。
在选择一个默认的编辑器时直接默认选择 vim 即可,只要回点Linux操作即可,当然也可以选择其他自己擅长的编辑器,主要是看自己的具体情况。
在选择设置分支名字的时候,直接默认即可。
在选择PATH环境时,选择第一个即可,第二个也可以,能在cmd运行,第三个建议不选。
后面的直接傻瓜式的直接默认即可,没啥重要要说明的。
安装完成之后,就可以使用命令行的 git 工具了,另外还有一个图形界面的 Git 项目管理工具,在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
Git Bash:Unix 与 Linux 风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的 Git,不建议初学者使用,尽量先熟悉常用命令
Git GUI的图形画界面比较丑,大部分还是喜欢使用 Git Bash 。
点开Git Bash 输入 git --version 就可以查看当前git的版本了,因为我老早之前就下载了,并不是最新版本,也懒得再重新更新下载了,大家凑合看吧(按住 ctrl + 滚轮进行字体的放大),在输入框输入基本的Linux命令即可执行。
Linux平台安装
Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:各 Linux 系统可以很简单多使用其安装包管理工具进行安装:
Debian/Ubuntu 中 Git 安装命令为:
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ apt-get install git-core $ git --version git version 1.8.1.2
Centos/RedHat 中 Git 安装命令为:
$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel $ yum -y install git-core $ git --version git version 1.7.1
Mac平台安装
在 Mac 平台上安装 Git 最容易的当属使用图形化的 Git 安装工具,其下载地址为:Git安装
Git配置
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量;这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
具体实操使用Git的配置下节会继续讲解: