git使用教程(二):git的配置和基本工作流程

2018-09-14  本文已影响0人  qh0814

上一篇博客介绍及安装了git,本篇的内容比较重要,为了照顾新手,所以还是尽可能写详细一点。

当你打开gitbash后界面会是这个样子:



有2点需要解释一下:

pwd命令查看你当前所在的目录:

pwd

简单配置git

在gitbash窗口内输入命令,一次输入一行,同时把引号里的邮箱和名字换成你自己的

git config --global user.email "你的邮箱"
git config --global user.name "你的名字" 

这两条命令告诉git你的联系方式,因为git是个可以多人协作的版本控制工具,当你和他人协作的时候别人通过这里的信息找到你并和你交流。邮箱建议填真实邮箱,名字随便。
由于我们现在只是在自己的电脑上使用git,所以就不需要额外进行配置了,今后还会介绍怎么使用github、怎么多人协作、怎么在自己的私人环境内与他人协作。

开始使用git

1.初始化git仓库

在上面我们看到,我们处于 ~ 目录。我们可以专门选一个目录用于学习git:
cd命令进入到指定目录,我选的是e盘,自己可以根据喜好选择

cd e:/   

创建一个用于学习git的目录,我这里创建了名为git的目录,根据自己喜好选择

mkdir git

当git目录创建好之后,需要进入这个目录再将这个目录初始化为git仓库

cd git

这时候gitbash里显示我们已经在e:/git/目录下了



将该目录初始化为git仓库:

git init

这个时候该目录便初始化为一个git仓库了,该目录里所有文件都可以被git管理起来,我们看一下有什么变化:

ls -a

可以发现多了一个 .git的目录,如果你不懂那就千万别乱动这个目录,你可以理解为.git目录是git仓库里的核心部分。


2.修改并提交文件

git仓库里现在还没有文件,所以先创建一个:

touch README.MD
ls -a

可以看到创建了一个名为README的文件



我们用命令看一下git仓库具体发生了什么变化,该命令可以查看当前git仓库的状态:

git status

可以看到git已经发现仓库里有个README.MD文件了,虽然这个文件确实已经在你的硬盘里了,但它对于git仓库来说还属于untracked files也就是"未跟踪的文件"。这类文件还没有被git跟踪(管理)起来,如果你想让这个文件被git管理起来,那么首先就应该让它不是untracked files。
git add 命令将指定文件添加到git仓库里,从而被git管理起来
git add README.MD
git status

这时候git发现README.MD文件被添加进来了,所以git将它定义为"new file"也就是"新来的文件",这个文件当前的状态是"待提交"。
一旦我们把这个文件提交了,该文件就会进入git的版本库里成为某个版本的一员
git commit命令将文件提交到版本库
git commit -m "first commit"

该命令的 -m参数指定了这次提交的附加信息,上面我给的信息是"first commit",附加的信息是很有帮助的,附加的信息推荐写有意义的信息,当需要回退到某个版本时,附加的信息给你和别人作为参考。
上图圈起来的部分是这次提交的哈希值的前几位:35d5804,当每次提交更改到版本库时,git会将本次提交的哈希校验保存起来并和这次提交对应,每个校验记录实际上是一个长度40位的16进制字符,这样保证了每次提交都只对应一个哈希值不重复,通过不同的哈希值可以精确操作不同的历史版本。
至此第一次提交就完成了,提交前的文件状态作为一个单独的版本被添加进git版本库里,用git log命令来查看一下git的历史记录:
git log

可以看到,git已经存在一条提交记录了,就是刚才那次提交。再次查看git仓库的状态:

git status

git告诉你,没有要提交的文件,工作区是干净的。
每次的commit都对应了一个版本,这时候如果修改了README文件内容,再次查看git仓库状态:



由于README文件已经不属于untracked file了,任何对该文件的修改都会被git跟踪记录,所以这里git status显示README文件已经被修改。这时候只需要重复步骤git add、git commit就可以将这个版本提交到版本库。

3.git的三种状态

了解git的3种状态可以帮你更深地了解为什么使用上面这些命令。
git有3种状态:已提交(committed)、已修改(modified) 、 已暂存(staged)。


以刚才的README为例,README文件相当于文件1,当一个文件在git目录里被创建时,它属于untracked file,需要被git add再commit之后才会被git管理起来。
当这个文件已经被git管理起来时,只要它有任何修改都会被git发现,被修改的文件的状态为modified
如果你想让这个修改后的文件作为一个新版本被git管理,那么需要先git add该文件到暂存区,处于暂存区的文件的状态为staged
但是暂存区的文件也仅仅是暂存而已,还需要git commit将文件正式地添加到版本库,处于版本库里的文件的状态为committed
提交过后工作区的文件会重新回到上图文件2的状态,但只要修改过后的文件又会变成modified

总结

1.使用git init将当前目录初始化为git仓库。
2.一个仓库里"新来的"文件默认是untracked file,先git add再git commit将文件提交至版本库,从而被git管理起来。
3.被git管理的文件仍然采用git add、git commit进行提交。
4.git status命令能查看当前git仓库的状态,如果你不确定下一步该怎么做,请先git status。
5.git log命令查看历史的提交记录。

上一篇下一篇

猜你喜欢

热点阅读