一 概述

1.什么是Git?

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

2.集中式与分布式对比

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

3.Git工作原理

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

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

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

5.版本

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

6.master

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

7.HEAD

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

二 分支

1.什么是分支?

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

2.创建分支

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

3.分支合并

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

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

三 标签

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

四 常用操作

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

Git操作简介的更多相关文章

  1. Git 操作简介

    安装完成创建用户和邮箱 git config --global user.name "username"git config --global user.email "t ...

  2. svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现

    svn与git区别简介: 性能方面(经过实践的) svn:下载速度慢,因为它其中的源文件太多,并且在show log日志的时候每次都需要去服务器拉取,速度很慢 git:下载速度快,并且git clon ...

  3. Go语言在线培训哪里好?Git操作和代码管理

    在实际的项目开发过程中,多人进行项目开发,需要涉及到代码管理和协同管理.这就需要使用到代码协同管理工具.在过去,大家都熟悉使用的是SVN软件,而现在Git代码仓库管理软件的使用更为广泛.在本系列实战项 ...

  4. git rebase简介(基本篇)

    原文: http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin& ...

  5. github Git 原理简介

    由于Git是一个DVCS(Distributed Version Control System,分布式版本控制系统),不同于传统的CVS/SVN版本系统那样必须由一个中央服务器来管理所有的版本记录,它 ...

  6. Intellij 中的git操作 转!

    http://blog.csdn.net/lovesummerforever/article/details/50032937 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git ...

  7. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

  8. 转 git操作小结

    UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...

  9. Git Workflow简介

    1. Git WorkFlow介绍 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git进行源代码管理时的一套行为 ...

随机推荐

  1. python 用户交互

    #coding=utf8 name = input("name:") age = int(input("age:")) job = input("jo ...

  2. Java 通过先序后序序列生成二叉树

    题目 二叉树的前序以及后续序列,以空格间隔每个元素,重构二叉树,最后输出二叉树的三种遍历方式的序列以验证. 输入: 1 2 3 4 5 6 7 8 9 10 3 2 5 4 1 7 8 6 10 9 ...

  3. 基于python的爬虫(一)

    抓取网页 python核心库 urllib2 实现对静态网页的抓取,不得不说,"人生苦短,我用python"这句话还是有道理的,要是用java来写,这估计得20行代码 (对不住了博 ...

  4. 使用Fiddler进行http抓包和调试

    本文目录 : Fiddler的工作原理 Fiddler的常用操作 支持https解密分析 Fiddler的断点调试 本文小结 参考文献 俗话说:工欲善其事,必先利其器. Fiddler是windows ...

  5. Vue常用经典开源项目汇总参考-海量

    Vue常用经典开源项目汇总参考-海量 Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的 ...

  6. NodeJS 入门第二天(EJS模板)

    一.复习 复习:Node.js开发服务器,数据.路由.本地关心的效果,交互: Node.js实际上是极客开发出的一个小玩具,不是银弹.有着别人不具备的怪异特点: 单线程.Non-blocking I/ ...

  7. 关于QT按键信号槽的总结(原创)

    QT界面按钮一般是必填的: 每个按钮都要 Go to slot 下面有几个都是常用的,先说一下 clicked:pressed:releaed的区别 字面意思看:click是点击一下,pressed是 ...

  8. Azure Messaging-ServiceBus Messaging消息队列技术系列-索引篇

    Azure Messaging ServiceBus Messaging相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. 方便查找,并后续陆陆续续再增加. 学习消息队列技术,可以先看第 ...

  9. 【.net 深呼吸】通过标准输入/输出流来完成进程间通信

    实现进程之间煲电话粥的方式,有好几种,比如,你可以用这些方案: 1.使用socket来传递.这个好像很无聊,本地进程之间也用socket?不过,通过本机回环网络确实可以进程之间通信. 2.WCF,与上 ...

  10. stm32之IIC通信协议

    I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备. 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数 ...