Git实战(四)状态转换
上次的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实战(四)状态转换的更多相关文章
- Git现实(四)状态转换
前Git实战(三)环境搭建博文.我们大致解说了一下git的环境安装.今天我们解说一下Git的状态转换. 学习版本号控制工具.对工具进行版本号控制之间的状态转换很重要. 毕竟Git仅仅是一个工具,假设不 ...
- git实战-linux定时监控github更新状态(二)
系列文章 git介绍-常用操作(一)✓ git实战-linux定时监控github更新状态(二)✓ 本文主要内容 如何查看github的本地仓库和远程仓库的同步情况 linux服务器定时监控githu ...
- 四十二、Linux 线程——线程同步之条件变量之线程状态转换
42.1 线程状态转换 42.1.1 状态转换图 42.1.2 一个线程计算,多个线程获取的案例 #include <stdio.h> #include <stdlib.h> ...
- SpringSecurity权限管理系统实战—四、整合SpringSecurity(上)
目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...
- java 22 - 18 多线程之 线程的状态转换、线程组
线程的状态转换图解:图片 线程的线程组: 线程组: 把多个线程组合到一起. 它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. 首先创建一个Runnable的实现类 publi ...
- coreseek实战(四):php接口的使用,完善php脚本代码
coreseek实战(四):php接口的使用,完善php脚本代码 在上一篇文章 coreseeek实战(三)中,已经能够正常搜索到结果,这篇文章主要是把 index.php 文件代码写得相对完整一点点 ...
- TCP 连接建立和断开,以及状态转换
1. TCP报文结构 TCP是一种可靠.面向连接.全双工的传输层协议,其报文格式如下所示: 源端口.目的端口:16位长.标识出远端和本地的端口号. 顺序号:32位长.表明了发送的数据 ...
- Git详解之一 Git实战
Git详解之一 Git实战 入门 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章 ...
- Java多线程及线程状态转换
以下内容整理自:http://blog.csdn.net/wtyvhreal/article/details/44176369 线程:是指进程中的一个执行流程. 线程与进程的区别:每个进程都需要操作 ...
随机推荐
- 为何jsp 在resin下乱码,但在tomcat下却工作良好的问题
关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码 contentType的charset是指服 ...
- Swift中TableViewCell便利构造器写法
目前为止比较方便的一种方法,如果有更好的写法请通知我,谢谢!
- 重写规则为什么要options +followsymlinks
重写规则为什么要options +followsymlinks Web服务器的Apache安装编译成功mod_rewrite编译成模块,但当我在网站根目录下放了一个.htaccess配置文件,却得到了 ...
- CHBTC
蛙人高频交易拆单策略-带手续费拆单策略及原理说明 - 王宇 warensoft - 博客园 CHBTC
- .NET反编译
http://www.cnblogs.com/powertoolsteam/archive/2011/01/05/1926066.html
- 解决Ubuntu 14下,PhpStorm 9.x 编辑器界面中文乱码的问题
在Ubuntu 14中,安装了 PhpStorm 9.02,发现 软件界面中文乱码,但是源码编辑处却显示正常,如下图所示: 很奇怪,猜想,应该是软件界面字体有问题,选了一个没有包含中文字体的字体.先前 ...
- 连接sqlexpress
sqlexpress在visualstudio安装时可选择安装. 数据源添加 localhost\sqlexpress window身份认证即可.
- iOS面试_1.浅析内存管理
为了开学的面试,就在博客里总结一下面试会问到的问题,今天就来谈谈内存管理,看到一篇文章非常不错,http://vinceyuan.cnblogs.com/,深入浅出,推荐大家去看看! Objectiv ...
- 【JVM】Myecplise自带的JVM大小调整,用于Junit等测试时使用
一般在使用Junit或者一个工具类的main方法执行时,在Myecplise中运行,并不会占用多大的堆空间.如果出现OutofMemory错误,调整MyEcplise自带的JVM大小. 在Myecpl ...
- Linux中C语言的编程
编译的过程 编译的概念:编译程序读取源程序(字符流),对之进行词法与语法的分析,将高级语言指令转换成功能等效的汇编代码,再由汇编程序转换成机器语言,并且按照操作系统对可执行文件格式的要求链接成可执行程 ...