美文网首页
git使用教程(二):git的配置和基本工作流程

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

作者: qh0814 | 来源:发表于2018-09-14 15:43 被阅读0次

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

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



    有2点需要解释一下:

    • 左边的1部分是你的windows用户名,在C:/Users/ 或者 C:/用户/ 里面可以找到和你用户名同名的文件夹。
    • 右边的 ~ 符号代表当前用户目录,在windows下即"C:/Users/你的用户名"这个目录,~目录下存放了你的git配置文件。由于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命令查看历史的提交记录。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/pwkbgftx.html