Git入门指南三:Git工作流和查看文件状态

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wirelessqa/article/details/19548057

Git入门指南三:Git工作流和查看文件状态


四. Git工作流

在你自建的Git本地仓库中,有三个区域:本地目录、暂存区、HEAD。

  • 工作目录: 就是受Git控制的文件夹,所有被跟踪记录的文件都包括在其中;

  • 暂存区(index或者stage):类似一个缓存区域,临时保存你做的改动;

  • HEAD:指向最近一次提交后的结果。


用一个比喻来描述一下这三个区域:

Git工作流:假设你是一个学生,你需要写一门课的作业,作业有好几张试卷和几本练习题,写好之后把作业交给老师。

  • 你把所有作业放在桌上开始写,这里就是你的“工作目录”

  • 当你写完一张试卷,把它放进你的书包里,它就进入了“暂存区”

  • 等你把作业都写完了,放在书包里带到学校,全部交给了这门课的老师,他就是HEAD所指向的位置

记录每次更新到仓库

工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪

  • 未跟踪的文件的改动不受到Git的版本控制。

  • 已跟踪的文件,即被纳入版本控制的文件,又分为未修改(unmodified)、已修改(modified)、已暂存(staged)三种状态。


  • 当在工作目录中新加入一个文件时,它处于未跟踪状态,这表示其没有纳入Git的版本控制。

  • 通过 git add 命令可以将其加入跟踪,并同时放入暂存区。

  • 一个已经被跟踪的文件,如果没有做过新的修改,就是未修改状态。

  • 一旦对其做了改动,就变成了已修改状态。通过 git add 命令可以将已修改的文件放入暂存区。

  • 初次克隆某个仓库时,工作目录中所有文件都是已跟踪且未修改的状态。

  • git commit 命令会将暂存区中的文件提交至HEAD所指向的分支。当被commit之后,暂存区的文件将回到未修改状态。

再来套用前面的那个例子:

作业里要交的试卷和练习题都处于已跟踪状态,那些不用交的就是未跟踪。

当你写了某张试卷之后,它就变成了已修改。写完了把它放进书包,它就是已暂存。

等你把它提交给老师之后,假设老师瞬间就把它批改完并发还给你,那这时对你来说,它又重新成为了未修改。

五. 查看文件的状态 git status

bixiaopeng@bixiaopengtekiMacBook-Pro wirelessqa$ git status
# On branch master
nothing to commit, working directory clean

说明:

  1. 当前处于的分支

  2. 当前目录是干净的,没有未被跟踪的文件,也没有被修改的文件

新建一个文件,再查看文件的状态


会提示未跟踪的文件

未跟踪的文件意味着Git在之前的快照(提交)中没有这些文件;

Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它“我需要跟踪该文件”,因而不用担心把临时文件什么的也归入版本管理。


微信公众帐号: wirelessqa

wirelessqa

关于作者:

作者: 毕小朋 | 老 毕 邮箱: wirelessqa.me@gmail.com

微博: @WirelessQA 博客: http://blog.csdn.net/wirelessqa


阅读更多

没有更多推荐了,返回首页