Git操作简介

一 概述

1.什么是Git?

Git是分布式版本控制系统。

2.集中式与分布式对比

在集中式版本控制系统中,版本库集中在中央服务器上,每次工作时都需要先从中央服务器获取最新版本,修改后,再推送到中央服务器,不仅受网路传输限制,而且一旦中央服务器发生故障,版本库可能全部丢失。而分布式版本控制系统,没有中央服务器,每一个工作电脑上都有一个完整的版本库,任务操作都是基于本地文件,文件修改后,只需要推送给其他协作人即可,不仅摆脱了网速的限制,而且版本库分布在多台电脑上,更加安全。

3.Git工作原理

Git本地操作分为三个区域:

  • 工作区:本地仓库中可见目录均属于工作区。
  • 暂存区:在“.git”文件夹中的index文件中。
  • 版本库:在“.git”文件夹中。

先执行“git add”命令将操作放到暂存区(Stage),再执行“git commit”将暂存区的文件提交到版本库。

4.快照

快照这个概念来源于照相领域,是一种快速记录信息的方式,载体体积小,几乎包含了关心的全部信息,Git英语原文对此介绍如下:

Every time you commit, or save the state of your project in Git, it basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot.

可以将快照理解为一种简单的记录对象当前状态的方式,这种方式虽然简单,却包含了对象的全部信息。

Git记录的不是版本间的差异,而是每一个版本的快照。

5.版本

版本是项目范畴的,代表了整个项目的状态,其中一个文件修改提交后,版本更新,其他未修改文件的版本也随之更新。

6.master

Git自动创建的主分支,只有该分支对其他用户可见,其他分支对其他用户不可见。

7.HEAD

指向工作区文件所属分支与版本。

二 分支

1.什么是分支?

基于主干的独立发展脉络,不影响主干的发展。

2.创建分支

基于一个已有分支的某个版本创建新的分支。

3.分支合并

如果从共同的起点处开始,两个分支中只有一个分支A修改了文件,那么将另一个分支的指针指向A分支当前的版本即可,合并后的文件就是A当前版本。如果从共同的起点开始,两个分支都修改了文件,那么合并时会出现冲突,手动修整,然后将文件添加到缓冲区Add to Index,再commit。

一个分支合并了另一个分支,将生成一个新的版本。

三 标签

标签的作用与commit id 相同,都是用来标记版本,commit id采用40位字符,难以记忆,因此产生了一种简化版本标记的方式,即标签,给需要特殊关注的版本自定义一个容易记忆的名字,便于以后查询。

四 常用操作

  • reset:退后到某一版本。
  • checkout:将工作区中的文件转化为某一个版本,选择某个分支为活动分支。

这是我初次学习总结的东西,偏重Eclipse下的简单操作,原理性东西太少,下面的连接讲得比较详细,可以深入学习:

http://www.open-open.com/lib/view/open1332904495999.html

原文地址:https://www.cnblogs.com/tonghun/p/7095147.html