您的位置:首页 > 其它

Git的相关知识

2017-07-19 21:11 260 查看

Git的相关知识

1.什么是Git

Git 是一个开源、免费的分布式版本控制系统,可以有效、高速地处理各种从很小到很大的项目的版本管理。

如果没有版本控制,相信大家写论文的时候都遇到过如下的情况:修改文件、保存文件副本。有时候偷懒省事,保存副本命名随意,时间长了很可能就会发生混乱,那个是最新版本,自己可能也就不知道。



一般来说,Git有以下的功能:

从一般的开发者的角度来说,git有以下的功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

2.安装Git。

1.在Linux上安装Git.

首先,可以试着输入
git
,看看系统有没有安装Git.

如果有则会有在命令窗口有以下的提示:

$ git
The The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git


看提示,Linux会友好地告诉你Git还没有安装.

一、使用包管理器安装Git  Git已经被所有的主流Linux发行版所支持。所以安装它最简单的方法就是使用各个Linux发行版的包管理器。

1.如果使用的是Debian 或者是Ubuntu 的Linux则输入
sudo apt-get install git
即可进行Git的安装。

安装完成后,用
git --version
命令查看安装好的Git版本。

2.如果使用的是Fedora、CentOS或者是RHEL的Linux则输入
sudo yum install  git
或者
sudo dnf install git
即可进行Git的安装。

3.如果使用的是 Arch Linux 则输入
sudo pacman -S git
即可进行Git的安装。

4.如果使用的是OpenSUSE,则输入
sudo zypper install git
即可进行Git的安装。

5.如果使用的是Gentoo,则输入
emerge --ask --verbose dev-vcs/git
即可进行Git的安装。

二、从源码安装Git

1.安装依赖包。

在构建Git之前,先要安装它的依赖包。

对于Debian、Ubuntun或者是Linux Mint 使用
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev asciidoc xmlto docbook2x
完成依赖包的安装。

对于Fedora、CentOS或者是RHEL使用
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x
完成依赖包的安装。

2.从github官网上下载最新版本的Git,然后在/usr下构建和安装。依次输入以下的命令

cd git-x.x.x
make configure
./configure --prefix=/usr
make all doc info
sudo make install install -doc install -html install -info


建议使用使用包管理器安装Git.

3.Git的详解以及其存在的优势。

Git和其他版本控制系统的主要区别是因为Git关心的是项目或者文件整体是否发生变化,而大多数其他的系统则只关心文件内容的具体差异,对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库 中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。如下图所示:



每个项目都有一个Git目录,它是Git用来保存元数据和对象数据库的地方,该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录的东西。从项目中取出某个版本的所有文件和目录,用以开始后续工作的地方叫做其工作目录。

暂存区域是对项目中的每一个文件来说,经过修改后的文件,都是先将文件添加到暂存区。

在暂存区域需要提交的文件就可以一次的进行提交从而更新到本地仓库中去。

Git的优势:

1.去中心化:Git将代码从服务器拉下来,我们平时开发代码时服务器中的内容其实和我们自己电脑中库中的内容是完全一致的,每个人都在在自己电脑自己的库中进行代码的修改,然后再讲修改后的代码进行提交。

2.分支策略:分支策略从技术上来讲是将版本节点化了,即最终的版本状态是树状的。从结果上来讲既是弱化了分支,也是强化了分支。弱化的是分支的概念,强化的是分支的功能。

3.几乎所有的操作都是本地执行:在本地进行代码的修改、暂存、提交到本地库、回滚到上一个库,只有最终确认提交给服务器才进行网络服务。

参考:linux怎么安装Git命令

参考Git教程:廖雪峰的官方网站

参考Git简介和基础操作

参考Git的思想和基本工作原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 版本控制系统