Git整理(一):Git的介绍与安装

Git的介绍

Git(/gɪt/),是一个分布式版本管理控制系统,它是开源的,可以快速且高效的对项目版本进行分布式管理,说到版本管理,那又得说说SVN了,现在有些公司也还在用svn,至少我上一家公司就是用SVN做的项目版本管理,先来说说svn和git有什么区别吧

Git和SVN的区别

Git

首先git它是一个分布式的,它是没有中央服务器的,我们自己的电脑就是一个完整的版本库,这时候,你工作的时候不需要联网,因为你电脑上就有完整的版本库,在多人协作开发时,如果两个人都同时对这个文件A进行了修改,那么我们只要把自己负责的内容修改完后之后,将修改的内容推送给对方即可,就可以看到对方修改的内容了。分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了

SVN

它是一个集中式版本管理控制系统,,版本库是集中存放在中央服务器的,工作时,首先要从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

在这里插入图片描述
集中式版本控制系统最大的问题就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,甚至更久

其实git和svn的区别还有很多,这里不做太多的介绍了,感兴趣的小伙伴可以自行查阅,下面说说git的安装,

Git的安装

Git官网:https://git-scm.com/downloads
我们可以到官网下载不同平台的git版本,本篇文章主要是讲解在windows下的git安装
在这里插入图片描述
下载成功之后,直接双击进行安装,然后一直下一步即可,安装还是很简单的
在这里插入图片描述
鼠标右键也可以打开
在这里插入图片描述
接下来需要配置我们的一些个人信息
在这里插入图片描述
输入以下命令,设置用户名以及邮件地址,因为git是分布式版本控制系统,需要配置你的地址信息,这里需要说明一下的是使用–global命令会让git的仓库都会用这个配置,如果为每个仓库指定单独的用户名和邮箱,去掉–global即可。

git config --global user.name "zhouym"     
git config --global user.email "[email protected]"

创建版本库

版本库也就是平常说的仓库,repository。其实它也就是个文件夹,只是这个文件夹被git管理,该文件夹中的文件的创建、修改、删除都能够被追踪。

创建文件夹
在这里插入图片描述
接着我们需要对这个仓库进行初始化

git init

在这里插入图片描述
在这里插入图片描述
这个git目录是用来跟踪管理版本库的,所以这里需要注意不要手动修改这个目录里面的文件,不然git仓库就会被破坏

添加文件并提交到版本库中去

可以随便创建一个文件,不要使用默认的记事本进行操作,不然会出现乱码的情况,可以使用notepad++,随便写上一段话
在这里插入图片描述
执行git add命令将文件添加到仓库中去
在这里插入图片描述
接着我们执行 git commit 命令提交,-m表示对这次提交内容的一个说明
在这里插入图片描述
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件

git status和git diff命令

在这里插入图片描述
git status----表示查看当前库的状态
git diff--------表示用来查看文件的变化 (工作区和版本库)
以上两个命令都是在对文件没有操作的情况下,当对文件进行了修改,再执行上述两条命令就会发生变化了,我们下面对文件进行修改,然后再执行上述两条命令来看看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们执行git add命令,然后再查看仓库中文件的状态
在这里插入图片描述
接着我们把修改后的文件提交
在这里插入图片描述
在这里插入图片描述
Git告诉我们当前目录中没有需要提交的修改,工作目录是干净(working tree clean)的

版本回退

刚刚我们对read.txt文件执行两次操作,我们还能记得住我们做了什么操作,但是当我们操作了一段时间后,修改的越来越多,那么我们就会忘记很多以前的操作。这时我们可以通过log命令来查看历史信息

git log 命令

在这里插入图片描述
git log命令显示从最近到最远的提交日志,每条日志信息占了五行记录,如果日志比较多的情况下。我们可以在命令后添加 –pretty=oneline单行来显示日志信息
在这里插入图片描述
49c346c40273980183cf71468839e075a15f7383这一串字符串表示版本号

回退到上一个版本

使用git reset --hard HEAD^
在这里插入图片描述
在这里插入图片描述

回到最新的版本

在这里插入图片描述
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向"对demo.txt文件添加的数据"

版本回退其实就是指针的改变。有时候我们想要回退到以前的最新版本,这时候log命令查看不到对应的版本号,在此场景下我们可以通过git reflog来查看
在这里插入图片描述
总结
HEAD指向的版本就是我们当前的版本,因此Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
切换前可以使用git log先查看提交历史,确定要回退到哪个版本。
如果要切换到未来的版本,用git reflog先查看命令历史,根据前面的字符串确定要回到未来的哪个版本

发布了207 篇原创文章 · 获赞 87 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/zhouym_/article/details/100008768