上次的Git实战(三)环境搭建博文。我们大致解说了一下git的环境安装,今天我们解说一下Git的状态转换。

学习版本号控制工具。对工具进行版本号控制之间的状态转换很重要。毕竟Git仅仅是一个工具。假设不了解工具的每一步操作都是为什么,那么学习Git也就没有多大意义了。

Git初始化

在学习Git状态转换之前,我们先来认识一下Git的初始化,即在本地创建一个Git版本号库。与SVN在server上创建唯一的版本号库不同,Git版本号库能够随client须要自由在client创建,其个数和位置不受不论什么限制。git初始化命令。例如以下所看到的:

git init demo

当中,demo为初始化版本号库名称。

为了明确Git初始化都做了哪些操作,我们能够使用列表查命令。例如以下所看到的:

ls -aF

通过查看能够看出,Git初始化。会在指定文件夹下创建一个.git文件夹,当中存放了该git版本号库全部须要的数据和资源。详细内容,假设有兴趣能够自行查阅。

Git状态转换

Git初始化完毕之后。不过声明了一个版本号库。我们还没有開始跟踪管理项目中的不论什么一个文件,所以接下来要做的工作就是在Git版本号库中加入一些我们须要进行版本号控制的文件。

在日常的Git操作中,全部Git进行的操作大致会经过三个区域,即工作区、跟踪区和历史记录区。

三者之间的转换关系,例如以下图所看到的:

从上图中,我们能够看到三个工作区之间的转换,大致分为四种命令。各自是 git add、 git commit、git reset和git checkout,四种操作为了什么,我会在接下来的细节性文章中详细分析。这里大家先了解一下。为了便于读者更加清晰的认识三个工作区之间转换关系,我们再来看一个更仔细的示意图,例如以下所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenMxNTkzMjYxNjQ1Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="700" height="630" alt="">

从上图中,我们能够发现除上述四种git命令之外,日常的命令还有如:git clone、git rm和git revert 等等。相同,我会在接下来的细节性文章中详细分析,这里大家了解一下就可以。

到此为止,我们对Git宏观的解说就结束了,这部分对于Git的理解很重要。我会在接下来的文章中继续深入的分析。敬请期待!

Git实战(四)状态转换的更多相关文章

  1. Git现实(四)状态转换

    前Git实战(三)环境搭建博文.我们大致解说了一下git的环境安装.今天我们解说一下Git的状态转换. 学习版本号控制工具.对工具进行版本号控制之间的状态转换很重要. 毕竟Git仅仅是一个工具,假设不 ...

  2. git实战-linux定时监控github更新状态(二)

    系列文章 git介绍-常用操作(一)✓ git实战-linux定时监控github更新状态(二)✓ 本文主要内容 如何查看github的本地仓库和远程仓库的同步情况 linux服务器定时监控githu ...

  3. 四十二、Linux 线程——线程同步之条件变量之线程状态转换

    42.1 线程状态转换 42.1.1 状态转换图 42.1.2 一个线程计算,多个线程获取的案例 #include <stdio.h> #include <stdlib.h> ...

  4. SpringSecurity权限管理系统实战—四、整合SpringSecurity(上)

    目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...

  5. java 22 - 18 多线程之 线程的状态转换、线程组

    线程的状态转换图解:图片 线程的线程组: 线程组: 把多个线程组合到一起.    它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. 首先创建一个Runnable的实现类 publi ...

  6. coreseek实战(四):php接口的使用,完善php脚本代码

    coreseek实战(四):php接口的使用,完善php脚本代码 在上一篇文章 coreseeek实战(三)中,已经能够正常搜索到结果,这篇文章主要是把 index.php 文件代码写得相对完整一点点 ...

  7. TCP 连接建立和断开,以及状态转换

    1. TCP报文结构 TCP是一种可靠.面向连接.全双工的传输层协议,其报文格式如下所示:      源端口.目的端口:16位长.标识出远端和本地的端口号.     顺序号:32位长.表明了发送的数据 ...

  8. Git详解之一 Git实战

    Git详解之一 Git实战 入门 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章 ...

  9. Java多线程及线程状态转换

    以下内容整理自:http://blog.csdn.net/wtyvhreal/article/details/44176369 线程:是指进程中的一个执行流程.  线程与进程的区别:每个进程都需要操作 ...

随机推荐

  1. c++基础学习之函数与参数

    1.传值参数 //传值参数 int Abc(int a,int b,int c) { ; } a,b和c是函数Abc 的形式参数formal parameter,类型均为整型.如果在如下语句中调用函数 ...

  2. AtCoder - 2567 RGB Sequence

    Problem Statement There are N squares arranged in a row. The squares are numbered 1, 2, …, N, from l ...

  3. 1.3(Spring MVC学习笔记)数据绑定

    一.数据绑定介绍 用户发送过来的数据,只有传递到服务器端的参数上才会起作用. 比如用户输入的用户名和密码要和后台方法中代表用户名和密码的变量关联起来, 从而才能使用用户传递的数据进行一些操作,这样数据 ...

  4. 将千克转换成磅 Exercise05_03

    /** * @author 冰樱梦 *题目:将千克转换成磅 *时间:2018年下半年 */ public class Exercise05_03 { public static void main(S ...

  5. SpringMVC实现操作的第二种方式

    一: 运行效果: 点击提交之后显示效果 二: (1).web.xml <?xml version="1.0" encoding="UTF-8"?> ...

  6. Merge的山寨版“联机帮助”

    IF NOT OBJECT_ID('Demo_AllProducts') IS NULL DROP TABLE Demo_AllProducts GO CREATE TABLE Demo_AllPro ...

  7. [Java基础] java多线程关于消费者和生产者

    多线程: 生产与消费 1.生产者Producer生产produce产品,并将产品放到库存inventory里:同时消费者Consumer从库存inventory里消费consume产品. 2.库存in ...

  8. 解决MySQL数据导入报错Got a packet bigger than‘max_allowed_packet’bytes

    临时修改:mysql>set global max_allowed_packet=524288000;修改 #512M 这条语句可以在小黑窗里执行,也可以在navicat查询新建查询里执行.

  9. Python中lambda使用简易教程

    例如: f = lambda x: x+x #lambda后的x为参数 print f(3) >>6 等价于 def func(x): return x+x print func(3) 与 ...

  10. android 博客列表

    1.  Hongyang http://blog.csdn.net/lmj623565791/article/details/37970961