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 线程:是指进程中的一个执行流程. 线程与进程的区别:每个进程都需要操作 ...
随机推荐
- SetTimer()函数使用
在编程时,会经常使用到定时器.使用定时器的方法比较简单,通常告诉Windows一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序.通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定 ...
- English distilled
[ Any question about the job]关于辞职原因 1. What are the main objectives and responsibilities of the posi ...
- 【权值分块】bzoj3570 DZY Loves Physics I
以下部分来自:http://www.cnblogs.com/zhuohan123/p/3726306.html 此证明有误. DZY系列. 这题首先是几个性质: 1.所有球质量相同,碰撞直接交换速度, ...
- struts-2-spring-2-jpa-ajax
http://struts.apache.org/docs/struts-2-spring-2-jpa-ajax.html
- Error: Top-level design entity "demo" is undefined
原因:顶层模块的module名没有和工程名同名 解决方法:把顶层模块 module名改成和工程名同名 最近在玩QUARTUS 11遇到此问题! 问题补充:本人用的时VERILOG HDL硬件描述语言! ...
- 如何订阅Linux相关的邮件列表
转:http://blog.163.com/sunshine_linting/blog/static/44893323201282114012845/ 1.google"linux kern ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...
- BigDecimal的精度舍入模式详解
BigDecimal舍入模式介绍: 舍入模式在java.math.RoundingMode 里面: RoundingMode.CEILING :向正无限大方向舍入的舍入模式.如果结果为正,则舍入行为类 ...
- mysql left join,right join,inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) ...
- LWIP的移植笔记
第一次发表博客,文章摘录于还不懂同学的专栏 lwIp的作者做了大量的工作以方便像我这种懒人移植该协议栈,基本上只需修改一个配置头文件和改写3个函数即可完成lwIP的移植.要改写的函数位于lwIP-1. ...