Git 版本控制原理

本文详细介绍了Git的工作原理,包括Working Directory、stage和master三个区域的作用。讲解了如何使用git add、git commit进行版本控制,以及如何通过git status检查当前状态。重点讨论了如何使用git log查看提交历史,并通过git reset –hard HEAD^或指定版本号回退到先前版本。同时,文章还提及了删除文件的操作。
摘要由CSDN通过智能技术生成

git 工作原理图

这里写图片描述

如上图所示,有三个区域Working Directory、stage、master。
名词解释:

工作区(Working Directory)
在我们直接编辑文件(文件夹)的根目录,如下图:
这里写图片描述

在G盘Git目录下就是工作区

版本库(Repository)
版本库才是git正式工作的地方,在工作区下隐藏目录里,如下图:
这里写图片描述
版本库主要包括两个区,如上图,包括“stage”和“master”。

  • master
    master区管理了我们每次提交后的文件版本以及相关信息,是git最重要的仓库。在master区,有一个head指针(见图1),指向最新提交的版本。

  • stage
    stage是工作区到master区的缓存区,在做小的修改时我们可以先提交到stage,确定没有问题了,或者当天的工作完成了,再把缓存区的内容最终提交到master。

工作原理
上篇博客里讲了命令行:git add、git commit
其中执行git add的时候,是把在“Working Directory”去修改(增加或删除)的内容提交到“stage”

执行git commit之类的时候,把“stage”的内容最终提交到“master”区。

git status
命令行git status 能够帮助我们快速的了解git的当前状态。
例如,我们现在工作区新增一个test3.txt文件(先不要添加到版本库),然后执行git status。

chenxi@chenxi_pc MINGW64 /G/Git (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        test3.txt

nothing added to commit but untracked files present (use "git add" to track)

从上面的代码我们可以看出,有在工作区新文件(test3.txt)待提交,但从stage区到master区没有新内容提交。
所以根据上篇博客的知识,先用git add把test3.txt提交到stage。执行指令git add后,再使用git status查当前git状态,如一下代码:

chenxi@chenxi_pc MINGW64 /G/Git (master)
$ git add test3.txt

chenxi@chenxi_pc MINGW64 /G/Git (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   test3.txt


chenxi@chenxi_pc MINGW64 /G/Git (master)

从上面的的结果知道已经成功添加到status,准备好等待我们提交到master,执行git commit可以完成提交任务,如下图:

chenxi@chenxi_pc MINGW64 /G/Git (master)
$ git commit -m "add test3.txt file"<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值