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。四种操作为了什么。我会在接下来的细节性文章中详细分析,这里大家先了解一下。为了便于读者更加清晰的认识三个工作区之间转换关系。我们再来看一个更仔细的示意图,例如以下所看到的:

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

到此为止。我们对Git宏观的解说就结束了,这部分对于Git据了解是非常重要的。我将继续深入分析在接下来的文章。

敬请关注!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-28 22:11:04

Git现实(四)状态转换的相关文章

Git实战(四)状态转换

上次的Git实战(三)环境搭建博文,我们大致讲解了一下git的环境安装,今天我们讲解一下Git的状态转换. 学习版本控制工具,对工具进行版本控制之间的状态转换非常重要.毕竟Git只是一个工具,如果不了解工具的每一步操作都是为什么,那么学习Git也就没有多大意义了. Git初始化 在学习Git状态转换之前,我们先来认识一下Git的初始化,即在本地创建一个Git版本库.与SVN在服务器上创建唯一的版本库不同,Git版本库可以随客户端需要自由在客户端创建,其个数和位置不受任何限制.git初始化命令,如

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

42.1 线程状态转换 42.1.1 状态转换图 42.1.2 一个线程计算,多个线程获取的案例 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <pthread.h> 4 #include <unistd.h> 5 6 /** 两个线程定义的共享资源 */ 7 typedef struct { 8 int res; 9 int counter; ///< 用于统计获取结果线程的数量 10 p

20160402_TCP连接的建立、终止和状态转换

原题: 以下不属于tcp连接断开的状态是? TIME_WAIT FIN_WAIT_1 SYNC_SENT FIN_WAIT_2 答案:SYNC_SENT -------------------------------------------------------------------------------- 本题知识点:计算机网络 TCP连接的建立:     下述步骤建立一个TCP连接:    1.服务器必须准备好接受外来的连接.这通过调用socket.bind和listen函数来完成,称

快速入门git第四步

一.获得git仓库有两个来源:1.在现有的目录下,通过git add 导入文件创建新的git仓库 2.从以后的git仓库下克隆下代码 1.在工作目录下新建git仓库,使项目进行了git的管理,只需要进行下列的命令: cd 文件名(进入目录)或者直接建立一个文件夹(mkdir zhen/cd zhen/) git init git init 做了写什么? 该命令的叫做初始化,初始化目录里面的文件和结构,在该目录下胡出现一个.git的文件,该文件含有git所需要的 资源和数据 2.克隆代码: git

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

1. TCP报文结构 TCP是一种可靠.面向连接.全双工的传输层协议,其报文格式如下所示:      源端口.目的端口:16位长.标识出远端和本地的端口号.     顺序号:32位长.表明了发送的数据报的顺序.     确认号:32位长.希望收到的下一个数据报的序列号.     TCP协议数据报头长度,因为TCP首部长度不固定.     头长:4位长.表明TCP头中包含多少个32位字.接下来的6位未用. ACK:ACK位置1表明确认号是合法的.如果ACK为0,那么数据报不包含确认信息,确认字段被

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

线程的状态转换图解:..博客暂时不能上传图片 线程的线程组: 线程组: 把多个线程组合到一起.    它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. 首先创建一个Runnable的实现类 public class MyRunnable implements Runnable { public void run() { for(int x = 0; x < 10 ; x++){ System.out.println(x); } } } 先看看默认状态下,线程都会保存在哪个线程

Packet Tracer 5.2实验(十四) 网络地址转换NAT配置

Packet Tracer 5.2实验(十四) 网络地址转换NAT配置 一.实验目标 理解NAT网络地址转换的原理及功能: 掌握静态NAT的配置,实现局域网访问互联网: 二.实验背景 公司欲发布WWW服务,现要求将内网Web服务器IP地址映射为全局IP地址,实现外部网络可访问公司内部Web服务器. 三.技术原理 网络地址转换NAT(Network Address Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中.原因很简单,NAT不仅完美解决了IP地址不足

Java多线程及线程状态转换

Java实现多线程的方法有两种,一是继承Thread类.二是实现Runnable接口. 一.继承Thread类 public class ThreadTest extends Thread { @Override public void run() { System.out.println("this thread name is:"+Thread.currentThread().getName()); } /** * @param args */ public static void

TCP连接(client、server)状态转换

 客户端状态的变化: 客户端创建套接字之后会connect服务器,这时客户端会发送一个SYN到服务器,状态转换到SYN_SENT并等待服务器的回复,收到服务端的回复SYN+ACK(同一个报文)之后???客户端会回复ACK此时状态转换到ESTABLISHED,正常数据交互完成之后客户端会close套接字此时发送一个FIN报文,状态转换到FIN_WAIT_1,同时等待服务端的回复,此时有三种情况: (1)收到服务端的ACK但此时服务端没有关闭套接字.状态转换到了FIN_WAIT_2,然后再等待服务端