行业知识
Git分布式管理-头歌实验本地版本库
一、本地版本库创建
任务描述
���地Git操作三部曲是“修改-添加-提交”,即先要在本地仓库进行添加、删除或编辑等修改,然后将本地所做的修改添加至暂存区。添加至暂存区的这些本地修改,并未提交到本地仓库,需要执行提交命令才能将暂存区中的修改,添加到本地仓库。
使用Git最基本的是,要先创建一个本地版本库,然后才能在本地修改、保存及提交文件。现在,让我们从创建一个本地版本库开始!
本关任务:现在你要开始使用Git进行项目的版本控制了,请在本地创建一个版本库。
相关知识
Linux基础操作
在现今的软件开发中,Linux系统及其命令行的使用,已经是一项必不可少的技能。虽然有其他基于Git的图形化软件,但是Git只能通过命令行进行操作。因此,掌握一些基础的Linux操作命令很有必要。
创建某个目录
有时我们需要创建目录,这时就需要使用命令mkdir。通过mkdir,可以在指定的目录下创建文件夹,其用法如下:
- 在当前目录下,创建目录helloGit: mkdir helloGit
- 在/home目录下,创建目录helloGit: mkdir /home/helloGit
mkdir的其他高级用法请参考其他Linux资料。
创建文件
创建文件可以使用命令touch,其用法如下:
- 在当前目录下,创建文件helloGit.txt: touch helloGit.txt
- 在/home目录下,创建文件helloGit.txt: touch /home/helloGit.txt
进入目录
进入某个目录,需要用到命令cd,其用法如下:
- 进入helloGit目录: cd helloGit
这样的用法默认了helloGit目录,存在于当前目录下。也可以在cd命令中,直接指定进入当前目录: cd ./helloGit
-
进入/home/helloGit目录: cd /home/helloGit
-
返回到上一级目录: 在Linux系统下,上一级目录可以用‘..’代替,如:
- #进入上一级目录
- cd ..
- #进入上一级目录的再上一级目录
- cd ../../
- #进入上一级目录下的helloGit
- cd ../helloGit
使用Git前的准备
安装
Git可以使用源码安装,具体的安装过程请参考Git官网教程或者Github上Git仓库的用户指南。 但对于初学用户,还是建议大家直接安装。
-
Linux下安装:
- #Fedora下安装
- yum install git-core
- #Ubuntu等Debian类体系结构系统下
- apt-get install git
-
Mac上安装: 在 Mac 上安装 Git 有两种方式。可以使用图形化的 Git 安装工具,网址为图形化Git工具安装地址;另一种是通过MacPorts 安装。如果已经装好了 MacPorts,请用下面的命令安装 Git: sudo port install git-core +svn +doc +bash_completion +gitweb
-
Windows下安装: 在 Windows 上安装 Git,可以使用msysGit 的项目提供的安装包,可以到 GitHub 的页面上,下载 exe 安装文件并运行: http://msysgit.github.com/ 完成安装之后,就可以使用命令行的 git 工具了。建议大家最好使用Unix风格的shell来运行Git。另外,Linux也有其他图形化的Git工具,如Tortoisegit。不过,还是建议大家直接使用shell来运行Git。
Git配置
由于Git是一个分布式的版本控制系统,所以当利用它进行分工协作时,必须区分不同的机器。这一点可以通过配置机器的名字和邮箱完成。Git初始使用时,也会提示进行配置。配置命令如下:
- $ git config --global user.name "Your Name"
- $ git config --global user.email "email@example.com"
在实际的使用过程中,可以将“Your Name”、“email@example”替换为自己实际的名字和邮箱。
如何创建一个本地版本库
首先,我们需要创建一个目录,做为我们的本地版本库,然后使用git init命令,将其初始化为一个本地版本库,如下:
- #在/home目录下,创建repo目录
- mkdir /home/repo
- #进入repo目录
- cd /home/repo
- #将repo初始化为一个本地版本库
- git init
通过上述命令,即可在/home目录下,创建repo目录,并将其初始化为一个版本库。
编程要求
现在我们已经学习了Git的原理(具体请阅读背景知识部分内容)、安装及配置,也学到了一些必备的Linux操作,我们已经为你在Linux系统下,安装好了Git,并进行了配置,这为你省去了不少麻烦。 本关的编程任务是,补全右侧代码片段中Begin至End中间的脚本,通过执行你所编写的脚本,来完成创建本地版本库的任务。具体要求如下:
- 在当前目录下,创建一个名为gitTraining的目录;
- 将gitTraining目录,初始化为一个本地版本库。
#创建gitTraining文件夹mkdir gitTraining#进入gitTraining文件夹cd gitTraining#请添加初始化本地Git仓库的命令#********** Begin **********#git init#********** End **********#
二、添加修改到暂存区域
任务描述
现在我们已经有了一个本地仓库,但是现在它里面空空如也。那么我们到底要怎么去保存我们的修改呢? 本关任务:使用Git命令将本地文件添加到暂存区中。
相关知识
如何将修改保存到暂存区
本地版本库就相当于一个存放在本地的仓库,里面记录了我们本地文件的各种版本及不同版本之间的差异。当我们添加、删除或者修改了文件之后,我们必须将修改添加至工作区以暂时保存(Git的工作原理请认真阅读背景知识部分)。
添加修改,并保存至工作区,需要用到git add命令,git add命令的使用方式如下所示:
#添加所有修改git add .#添加hello.txt文件git add hello.txt
如上所示,当需要添加所有文件至工作区时,使用git add .,如果想添加指定文件,只需要像示例中添加hello.txt一样,将文件名做为参数名,传给git add即可。
虽然本关考察了添加修改到暂存区的操作,但是如果想得心应手地使用Git还不够。这里,必须要向你介绍另外两个很重要的命令。
查看工作区状态
当你创建完helloGit.txt,而且没有将其添加到暂存区域时,如果使用git status命令,你会得到类似于下面的输出(中文):
或者这种(英文):
这是什么?这是提示你工作区有被修改的文件,未提交至暂存区。 当你执行完git add之后,会得到类似于下面的输出:
或者这种:
这是在提醒你,暂存区有哪些内容需要提交到本地仓库。
其实git status命令用来查看当前工作区的状态,即有哪些已经修改,还尚未提交到暂存区的文件。在实际的开发过程中,面对复杂的程序文件,你经常需要查看一下,自己对哪些文件做了修改,此时git status命令就很有用了。你可以在命令行界面下,自己去体验一下。
撤销修改
本关只考察了添加内容,但是如果你不小心把不想添加的东西添加到暂存区,或者想丢弃已经添加的内容,这个时候你该怎么办呢?不用着急,这个时候git checkout命令就可以大显身手了。
checkout命令用法如下:
git checkout helloGit.txt
这样就能把已经添加到本地的helloGit.txt从暂存区中移除。
#创建gitTraining文件夹mkdir gitTraining#进入gitTraining文件夹cd gitTraining#请添加初始化本地Git仓库的命令#********** Begin ********init**#git init#********** End **********##创建helloGit.txt文件touch helloGit.txt#请添加提交helloGit.txt到暂存区的命令#********** Begin **********#git add helloGit.txtgit status#********** End **********#
三、提交修改到本地仓库
任务描述
本地Git操作三部曲,是“修改-添加-提交”。现在你已经完成了前两个,相信你也迫不及待地想进行第三个操作了:将本地修改提交到本地仓库中去。
本关任务:将暂存区中的修改提交到本地仓库中。
相关知识
如何将修改提交到本地仓库
将修改添加到暂存区,只是将你的工作暂时保存,并没有添加到本地的仓库中。这个过程可以类比写文件,将修改添加至暂存区,就相当于把内容先放入缓存区。因此,我们必须将工作区的内容提交到本地版本库去,才算是真正地保存了修改。
提交修改到本地仓库,使用命令git commit,其使用方式如下所示:
git commit -m "示例提交"
-m参数后面跟的是本次提交的具体内容,用来说明你这次的提交,主要是做了哪些修改,这个说明内容是必须的。
解析commit的输出结果
在执行完git commit命令之后,会得到类似于下面的返回结果:
其中:
- “添加helloGit.txt”为“-m”的参数,即执行的命令为git commit -m "添加helloGit.txt";
- “1 file changed, 0 insertions(+), 0 deletions(-)” 提示改动信息;
- “37302ce”这个字符串则是本次提交的Id,commit Id唯一对应一次提交。
令人惊喜的git log和git status
当执行完git commit后,如果你试着执行以下git log你可能会得到如下的输出:
其中:
- “commit 37302ce99137cf30fabc14784d23ea63cadb928b”中的后面这一串字符就是完整的commit id;
- “Author”就是这次提交的作者,它就是我们在git config中配置的user.name;
- 最后输出的“添加helloGit.txt”,是我们在提交时添加的信息。
如果有多次提交即commit,在执行git log时,会输出每一次的提交的具体信息。这样的话,什么时候(Date)由什么人(Author)提交了什么内容(“添加helloGit.txt”)就一目了然了。
#创建gitTraining文件夹mkdir gitTraining#进入gitTraining文件夹cd gitTraining#请添加初始化本地Git仓库的命令#********** Begin **********#git init#********** End **********##创建helloGit.txt文件touch helloGit.txt #请添加提交helloGit.txt文件到暂存区的命令#********** Begin **********#git add helloGit.txtgit status#********** End **********##请添加提交helloGit.txt至本地仓库的命令#********** Begin **********#git commit -m "Add helloGit.txt"git log#********** End **********#
-
- 进入helloGit目录: cd helloGit
上一篇:YY平台,轻松一键付款操作指南
下一篇:吃鸡2怎么连接不到服务器?