git学习之通俗易懂篇(一)

看了廖学峰老师的教程,并加上本身的理解,我总结了属于本身的通俗易懂版本,在此记录下来。git

首先,了解git和github。github

在此以前,可能有人也和我同样,据说过git,也据说过github,而且有本身的帐号,但二者是一回事吗?或有啥区别,有啥联系?shell

(ps:不知道你们会不会和我有同样的情况,要是脑子里一开始有一些不是很是清晰的概念,此刻想要深刻去学习的时候就没法专心,也能理解为脑子就没有充足的空间去关注当下须要理解或学习的东西上,由于那些不是很清晰的概念占据着一些没必要要的空间。)windows

因此,先来理清一下思路又再说。缓存

Git是一款免费、开源的分布式版本控制系统。bash

Github是用Git作版本控制的代码托管平台。也就表示这样的代码托管平台能够有不少个,git和github不是一一对应关系。好比,据说过的还有“码云”,等等。服务器

Git是分布式版本控制系统,就是将同一个Git仓库,分布到不一样的电脑上。这样工做时就必须找一台电脑充当服务器仓库的角色,天天24小时开机,其余每一个人都从这个服务器仓库中拉取别人的提交,而且各自把各自的提交推送到这个服务器仓库里。但这是很不方便的,若是有个远程的免费的仓库可使用才是最好的。网络

GitHub就是提供Git仓库托管服务的,只要注册一个GitHub帐号,就能够免费得到Git远程仓库。也就是有了这个远程仓库以后,一块儿合做的小伙伴拉取或是提交都是面对这个远程仓库就能够了。分布式

至于怎样完成全部步骤,接下来会通俗易懂介绍的。工具

什么是git?

Git是目前世界上最早进的分布式版本控制系统(没有之一)。

什么契机下,产生的版本控制系统

若是几个同事一块儿合做编辑一个文件,若是全靠人工的话,就须要保留每一个时期,每一个人的版本,以便以后查看,修改。还得整理出包含每一个改动的最终版,这个最终版只要有人改动,就得找到那个改动的地方,而后更新。总之,整个过程是很是耗费时间和人力的。

由此须要,产生了版本管理系统,它能够自动帮咱们记录每次文件的改动,还可让同事协做编辑,也不用本身管理一堆相似的文件,也不须要把文件传来传去。

知道了版本控制系统,那什么是分布式呢?

与分布式对应的是集中式。

集中式就是将整个文件统一放在特定服务器上,工做的时候先要从这个服务器上获取到最新版本,而后再进行本身的编辑修改,完了再提交到此服务器上。因此若是没有网络,就无法工做了。

分布式是每一个人电脑上都有完整版本,没有网络也能够工做,能够同事之间交换修改部分,也能够统一设立中央服务器,而后获得每一个人修改的记录。

先简单这样有个概念,以后再本身实验。

怎样使用git?

一、要先安装git,再这里有详细的各个操做系统下的安装步骤。

二、装好以后,咱们要理解到,git管理的单位或是范围称为“仓库”,其实也就是某个你想管理的文件夹(目录)。

(ps:你能够创建多个仓库,有些是本地本身用git管理,有些是托管在github或码云或别的远程平台上。)

下面就举个我在本地用git管理文件的例子:(别急,下一篇,会再举远程的例子)

【注:个人是win10系统。并且我已经装好git了。】

先说个题外话:我对命令行的理解(随时保留改正空间~~)。

我是这样理解的(若是不对的话,欢迎提出你的想法,向你学习):命令行是与图形界面操做一个意思,就好比图形界面上鼠标右键选择新建文件,那这个操做在命令行就能够用某个命令去完成。

命令行在不一样操做系统上会有不一样的命令行工具,例如windows上是cmd,Linux下是shell。

而若是下了一个软件,里面的操做是用命令行操做的话,它也会提供命令行工具,就好比下了git,它提供了git bash,在里面写命令来操做。(这个软件是基于哪一个操做系统开发的,则它提供的命令行工具,也会延续该操做系统的命令,因此git bash也就看成Linux环境下的命令行工具。)

 

(1)在合适的位置建立空的目录,做为版本库。

这个目录(版本库)里面的全部文件均可以被Git管理起来,每一个文件的修改、删除,Git都能跟踪,以便任什么时候刻均可以追踪历史,或者在未来某个时刻能够“还原”。

使用e:就不能进入e盘了,由于e:是windows下的命令。

 

 

我在e盘下新建了gitproject,而后又在其下新建了localfile文件,准备将localfile做为本次实验的git仓库

 

(2)在当前目录下,经过【git init】命令把这个目录变成Git能够管理的仓库:

执行git init命令以后,从“个人电脑”打开localfile,则会看到localfile目录下有个.git目录,这个目录就是Git用来跟踪管理版本库的。

 

(3)而后在localfile下新建文件test.txt,并写些内容进去。

例如在文件中写以下文字:

(4)用命令【git add】告诉Git,把文件添加到仓库:

没有任何反应,说明执行成功

 

(5)用命令【git commit】告诉Git,把文件提交到仓库:

注:git commit -m以后双引号中是本次修改的描述,能够写你以为能够描述本次行为的任何有意义的内容,以便以后查阅。

你能够屡次执行git add命令,以后再使用git commit一次进行提交。

当你用git add命令后,至关于将一次修改放入暂存区,准备提交,因此能够将屡次修改放入缓存区以后,一次提交。

 

 (6)当咱们再次修改了test.txt文件以后,再执行【git status】命令,能够获得以下结果:

它会告诉你仓库当前的情况:test.txt被修改了,可是尚未放入缓存,也还没提交。

 

 (7)用【git diff】这个命令,能够查看咱们具体作了什么修改:

 

我当下的test.txt内容为:

(8)接着执行git add,再执行git status:

它会告诉咱们当前仓库的情况是:将要被提交的文件是test.txt。

 

(9)而后执行git commit -m "第二次修改",再执行git status:

 它告诉咱们当前仓库的情况是:没有须要提交的内容。

 

(10)使用【git log】命令查看全部历史记录:

我用蓝色圈出来的部分就是咱们每次提交时候写在 -m 以后的描述,能够简单清晰了解每次大概改动的地方。

 

好的,以上就是常常会使用到的命令,总结一下:(若是想要了解其余命令,能够仔细阅读廖学峰老师的教程

git init     将当前目录变成git仓库

git add    将修改文件放入缓存区

git commit -m "描述文字"      将缓存区中文件提交  

git status      查看当前仓库的状况

git diff     查看具体修改内容

git log     查看历史记录

 

 

下一篇会总结托管在github上的例子~~

相关文章
相关标签/搜索