0. 版本控制

版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修改情况的系统(vcs)。

svn等是集中式版本控制,即服务器在单一机器上,每次checkout变化的文件,若机器故障,则有可能很难恢复。而git等则是分布式控制,相当于每次checkout都是一次完整的本地备份,则遇见故障也可以轻松恢复过去。

1. git特性

速度、设计简单、对非线性开发模式的强力支持(允许多个并行开发的分支)、完全分布式、有能力高效管理大型项目如linux内核

2. 基础要点

• 直接快照,而非比较差异,只关心文件数据的整体是否变化,其他系统则只关心文加内容的具体变化。

• 近乎所有操作都可本地执行,即便断网也可在本地操作,联网时再上传到服务器。

• 时刻保持数据完整,在保存前进校内容校验和计算(checksum),并将结果作为数据的唯一标识和索引,所以文件传输时不完整或磁盘损坏,git都能立即察觉。

git使用sha-1算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个sha-1哈希值,作为指纹字符串。该字符串由40个十六进制字符(-,a-f)组成,例如:
24554avbfg6yhui890oplkjhgt5r4edsc33456u8
保存在git数据库中的东西都是用哈希值来做索引的而不是文件名。

• 多数操作仅添加数据

• 三种状态:已修改、已暂存、已提交

3. 安装

方式:源代码/安装包

4. 配置(具体配置命令参看git config)

• 用户信息配置

全局配置,使用所有项目
git config  --global user.name 'hhb'
git config  --global user.email ***@qq.com

单个项目只要在项目内的配置中去掉global即可

使用git config --get user.name可查看用户名

•  指定文本编辑器

git config --global core.editor vim

• 差异分析工具

git config --global merge.tool vimdiff

•  查看配置信息

git config --list

5. 帮助

若需要查看工具使用方法,可以用help命令

git help config 查看config的帮助

【使用git】初识git的更多相关文章

  1. git 入门教程之初识git

    初识 git git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 背景 我们都知道,Linus 在1991年创建了开源的linux系统,随着不断发展壮大,目前已发展成为最大 ...

  2. 在春意盎然的季节里初识GIT

    Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征. ...

  3. git初识

    下载网上的开发员的项目 git clone https://github.com/xxxxxx/test.git 下载好,进入刚下载的好的test项目目录,可以修改对应的代码,然后 git statu ...

  4. 初识git(17/8/21)

    git是一个分布式的版本管理系统 通过廖雪峰的官方网站(maybe2017)来学习的,比较详实跟着操作就行,记录基本的一些命令还有学习是遇到的一些问题和收获,方便下次查阅. git的安装 -. win ...

  5. mzy git学习,初识git(一)

    GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...

  6. katalon studio配置git与git项目创建

    katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...

  7. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  8. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  9. Git:Git初体验——Git安装配置

    作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些 ...

  10. 使用Git、Git GUI和TortoiseGit

    1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...

随机推荐

  1. HttpWebRequest.GetResponse 方法 转载

    GetResponse 方法返回包含来自 Internet 资源的响应的 WebResponse 对象. 实际返回的实例是 HttpWebResponse,并且能够转换为访问 HTTP 特定的属性的类 ...

  2. [ActionScript 3.0] AS3.0 烟雾粒子效果

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; ...

  3. java 进程启用远程查看

    用jconsole 1.启动脚本增加: JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=192.1 ...

  4. 同一台服务器启动多个driver负载机实例

    COSBench添加driver负载机 说明:Driver是COSBench测试工具中对负载机的一种标记,相当于loadrunner中的负载发生器. 在进行测试时,不管出于什么原因,我有时候就想单台服 ...

  5. SmartWiki文档在线管理系统简介

    简介 SmartWiki是一款针对IT团队开发的简单好用的文档管理系统.可以用来储存日常接口文档,数据库字典,手册说明等文档.内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需 ...

  6. springMVC下载FTP上的文件

    springMVC下载FTP上的文件 今天没时间写.先上传 一个工具类 工具类 package com.utils; import java.io.File; import java.io.FileO ...

  7. Sass浅谈

    对于一名前端开发来说,CSS并不陌生,几乎每天都在和CSS打交道.相处久了就会觉得CSS有些许的机械化,有些许的无趣:就会觉得写CSS很多时候都是在做一些复制粘贴性的工作,布局排版,颜色设置,边框属性 ...

  8. 苹果刷机相关开源代码(如iRecovery等)收集汇总(不断更新中...)

    下面截图是在下面开源代码下使用VS2015修改部分代码后适配而成,可以在Windows平台上运行, 下载连接: http://pan.baidu.com/s/1i4zKGx3.

  9. TextView 中添加超链接

    在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现   代码如下:    第一种    pu ...

  10. XidianOJ 1183 Water Problem: Items divided

    题目描述 Youyouyouyou is very interested in math, one day, an idea came into his mind that how many ways ...