Git使用教程(超详细)

  • Post author:
  • Post category:其他


1.Git是什么


Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

2.GIt安装(Windows)


在Windows上使用Git,先从Git官网直接下载安装程序,选择指定系统下载,然后按默认选项安 装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,显示出类似命令行的窗口,说明Git安装成功!


下载地址:(下载完成,直接默认安装)




Git – Downloads (git-scm.com)



https://git-scm.com/downloads




在黑窗口(cmd)内输入 git –version 查看git 版本信息如下:


(1)在使用用Git工作之前,我们需要做个一次性的配置。方便后续Git能跟踪到谁做了修改,我们需 要设置对应的用户名与邮箱地址。


git config –global user.name “your_username”


git config –global user.email your_email@domain.com


git config –list 查看所有配置


(2) 注意 git config 命令的 –global 参数,用了这个参数,表示你这台机器上所有的Git仓库都会 使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

3.Git文件的三种状态与工作模式


使用Git操作文件,

文件的状态

有三种:


针对Git 文件的三种状态,这里需要了解Git项目的

三个工作区域

:

工作区



暂存区



Git仓库



基本的Git工作流程描述如下:


  • 在工作区中修改某些文件。

  • 对修改后的文件进行快照,然后添加到暂存区。

  • 提交更新,将保存在暂存区域的文件快照永久转储到 Git 仓库中。

4.创建版本库并提交文件


版本库又名仓库,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来, 每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可 以“还原”。




编写一个文本文件并将文件提交git仓库中




(1)



初始化git 本地仓库


在本地文件自己指定位置,通过执行 git init 命令在本地初始化一个本地仓库,执行该命令后会在本地初始化一个 没有任何文件的空仓库。



注:.git文件(本地仓库)是隐藏需要手动设置才能看到.git文件夹


(2)在.git 同级目录下添加git01.txt 文件后,使用 git status 查看工作目录与暂存区文件状态


git status 命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到 了, 哪些没有, 哪些文件没有被Git tracked(跟踪)到。


通过git status 命令看到此时git01.txt文件在暂存区中。


(3)执行 git add 文件名 命令添加文件到暂存区


git add path 通常是通过git add <path>的形式把<path>添加到索引库中,<path>可以是文件也可以是目录。


git不仅能判断出<path>中,修改(不包括已删除)的文件,还能判断出新添的文件,并把它 们的信息添加到索引库中。


此时可以看到有一个git 已tracked 到新文件git01.txt,文件被成功存放到暂存区


(4)提交文件到本地版本库(仓库)


文件被添加到暂存区后,执行 git commit 命令提交暂存区文件到本地版本库中。


git commit 命令用于将更改记录(提交)到存储库。将索引的当前内容与描述更改的用户和 日志消息一起存储在新的提交中。通常在执行提交时 在 git commit 命令后跟上 -m 属性 加入本次提交的记录说明(注释)方便后续查看提交或改动记录。


git log :命令用于显示提交日志信息。

5.时光穿梭机


企业中在多人的项目开发环境下,使用Git 版本控制工具对项目版本进行管理时,通常会对项目 不同版本的文件进行查看,项目历史版本,未来版本的切换操作。


5.1修改文件与文件提交


(1)修改git01.txt文件内容


(2)此时当文件修改后 使用 git status 命令可以看到git 检测到文件被修改,git 版本库给出的下 一步操作是添加修改的文件到暂存区 此时执行添加操作命令



(3)执行提交


(4)git log 命令查看操作日志记录


(5)执行提交操作


(6)此时执行 git diff HEAD — git01.txt 与版本库内容进行比较结果如下:


差异比较说明


`—`:表示变动前的文件


`+++`:表示变动后的文件


变动的位置用两个@作为起首和结束


@@ -1,2 +1,3 @@:减号表示第一个文件,”1″表示第1行,”2″表示连续2行。同样 的,”+1,3″表示变动后,成为第二个文件从第1行开始的连续3行。


可以看出:文本中第三行内容并没有提交到版本库中 原因在于修改后的git01.txt 并没有添加到暂 存区,所有执行提交操作并不会发生改变。



注:以上文件修改、添加、提交都是为下面的版本回退做准备。


(7)暂存区文件提交与撤,


当发现因失误而将文件添加到暂存区时,git 支持文件的撤销操作 执行命令git reset HEAD 文件 操作如下:


查看版本库状态并执行撤销操作


再次查看版本库状态 test.txt 成为未追踪文件(撤销成功)


5.2版本回退


当文件修改后被提交的次数很多时,对于版本库中存放的文件就会出现不同的版本,在多人开发 的项目环境中,通常会对不同版本文件进行查看甚至回退的情况(比如某些游戏中所提供的状态 保存功能,能够在某一时刻保存整个游戏场景状态以方便后续继续在该状态下进行游戏进行而不 是从头开始),值得庆幸的是 Git 也提供了同样的功能,能够让开发者在不同版本的项目中进行切 换,达到时空穿梭自如的目的!



未完成!!!



版权声明:本文为JanuaryFM原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。