版本控制
简介
你可以把一个版本控制系统(VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本”)时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。版本控制系统主要分为两种,集中式版本控制和分布式版本控制。CVS和SVN就是典型的集中式版本控制系统,而Git是目前世界上最先进的分布式版本控制系统。
集中式版本控制
集中式版本控制的仓库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。集中式版本控制系统最大的弊端就是必须联网才能工作。在局域网的情况下效率不错,但是通过外放访问的话,由于网络带宽和稳定性的因素将导致效率极低。
分布式版本控制
分布式版本控制系统没有“中央服务器”的概念,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。
Git基础
简介
Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git最为出色的是它的合并跟踪 (merge tracing)能力。
安装
Git提供了不同系统的版本支持,可从Git官网下载,这里以deepin版本为例。
从官网https://git-scm.com下载最新版本,下载后直接执行安装即可。
从右边的电脑图标止直接下载就可以了,它会根据系统自动识别你的操作系统来下载,LInux系统还可以直接在终端下输入以下命令来进行直接下载
注意的是:deepin有时候我们在终端输入时会提示权限不够,我们可以进入管理员身份进行下载
因为我这里本身就是管理员身份了,这里只是个模拟。。。进入管理员身份后,输入密码,就可以执行上面安装的命令的
apt -get install git
注意:在windowns系统下,安装好git后会有一个叫Git Bash图标的,它
是Git在windows下的一个模拟终端,由于Git本身是Linux下的一个工具,如果想在Windows下使用Git,就必须模拟Linux系统的环境。这就是Git Bash的作用。
在Linux系统我们直接用原生的终端操作就可以了
添加用户信息
因为Git是分布式版本控制系统,因此每台装有git的主机都需要有自己的名字。这时需要在git配置中添加一个用户名和Email地址。
在终端下中输入以下命令:
1) git config --global user.name "名字"
在Git的全局配置中添加一个用户名
2) git config --global user.email "邮箱地址"
在Git的全局配置中添加一个邮箱
3)可以使用git config --list查看全局的配置信息,当中可以看到你所添加的用户名和邮箱信息
创建本地版本库
创建完用户信息之后,接下来我们就可以开始创建一个本地的版本库了。
1)在任意一个磁盘中新建一个目录,例如:在/usr中创建一个文件夹叫mygit。
2)在终端中进入此文件夹。
3)使用git init命令将mygit目录初始化一个空的本地版本库
终端上会提示初始化了一个git的本地化仓库
OK,这样我们就创建了一个本地版本库,只不过这个库的工作区中没有任何的内容,但是有一个隐藏文件夹“.git”。这个文件夹就是Git的版本库。
(备注:在Git中是有版本库、工作区、暂存区这几个概念,这部分内容将在后面进行详细介绍)
添加文件到版本库
版本库有了,那么我们就可以向版本库中添加文件了。
1) 在mygit目录中创建一个文本文件(例如hello.txt)并填写一些内容
2)在终端中使用命令git add hello.txt(如果有多个文件可以使用 * 号或者 . 号来代表所有的文件 ,例:git add *)
3)再使用命令git commit -m "提交说明" 提交到版本库中
修改文件
接下来对hello.txt文件进行修改,再添加一些内容。然后使用git status命令进行查看。git status命令可以让我们时刻关注仓库当前的状态。
红色的部分告诉我们hello.txt的文件已经修改,但是还没有提交到仓库。
还可以使用git diff命令查看修改前和修改后的内容。
修改完后还是使用git add和git commit命令提交到本地版本库中
我们再次使用git status命令查看版本库当前的状态,这时你会发现刚才修改的内容已经提交到版本库中,没有任何可提交的内容了。
版本库(Repository)
工作区有一个隐藏目录“.git”,这个就是Git的本地版本库。
说明:
Git的版本库里存了很多内容,其中最重要的就一个是暂存区(stage),还有Git为我们自动创建的第一个主分支master,以及指向master的一个指针叫HEAD(HEAD还可以指向其他的分支,作用就是做分支切换)。
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把新建或修改的文件添加到暂存区。
第二步是用git commit执行提交,实际上就是把暂存区的所有内容提交到当前master分支。
原文地址:https://www.cnblogs.com/gepuginy/p/10102146.html