git来龙去脉 与 使用总结

git 分布式版本控制系统

为了更好理解git首先理解几个概念:
这里写图片描述

                    图1.1
 如上图所示
 1 . 工作区:

     这里是你实际编写代码的地方,你可以简单理解为工作目录,你所编写的代码放在这。

 2 . 版本库:   

     工作区里会有一个隐藏目录: .git,这里面存放了很多东西,是版本控制的核心,版本库中又有两个比较重要的概念:
(1) stage 暂存区:

     可以理解为暂存区目录;(对应你的git add指令)

 (2)  主 分 支(master):(对应你的git commit指令)

     可以理解为版本库各个版本的文件分支;

 如上head指针指向是当前版本,你可以通过指令抓取远端的文件,而这些文件都是从git的master获取,(master主分支记录了每一版源文件的改变). 
 version1->version2->version3;在master分支中,head指针指向当前版本,所以你实际可以获取各个版本的代码。如下所示,三个圆分别代表三个版本的源代码。

这里写图片描述

                        图 1.2

有了以上的理解首先可以熟悉如下几个指令:
1. git add file

         将当前工作区的文件添加到版本库的暂存区;

   2.   git   commit  -m  "expalain the version you commit"

        将暂存区的文件放到master的分支中,你可以理解head指向的圆圈为不同的版本,这样更好理解版本的切换;

  综上在git将文件上传到本地的版本控制库中只需要如下两个操作;

  git add file   &&  git commit  -m  "expalain the version you commit";
  这样master分支就会为你的提交生成响应的信息,就试图1.2中的圆圈对应的是你每一次的提交所对应的版本,当然你可以通过指令执行版本的回退与版本的切换。

   3.   git   checkout  --file
   现实工作的时候你可能会出现对当前版本的文件不当修改,这样你可以通过git  checkout --file 将工作区的代码回退到当前版本还没有修改时候的样子;(主要是修改工作区的代码)

   而在你修改之后, 你如果执行了git add  之后,则需要执行git reset    HEAD  file  清楚暂存区的代码;

   而如果你即执行了git add 与 git commit 则需要进行版本回退,

   如下指令4:
    git   reset     --hard    (版本号); //你想回退的版本号;
    git   reset     --hard    HEAD^ ;    //回退至上一个版本号;

     当然你可能会疑问如何知道commit id, 通过指令 git log则 可以获得相应的提交历史,这时候你可以看到相应的信息,(在实际的commit的时候添加额外的信息有助于你的理解,所以每次实际的提交中最好 git commit  file -m "some information about your commit").

    最最最后,如果一旦你回退到某一个老版本之后,你在想回退到新版本之后,由于关机了,之前的commitid你不知道了如何回退,这时候就可以到 git reflog中去查看,这里存着每一次commit的信息。

   4.   git reset HEAD readme.txt(前面已经介绍。)

参考内容:(分支的管理那一章还没有完全理解)
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值