git 是一个开源的分布式版本控件系统,用于敏捷高效地处理任何或小或大的项目。

Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Git 与常用 的版本控制工具CVS,Subversion等不同,它采用了分布式的版本库的方式,不必服务器软件支持。

Git与SVN区别

Git不仅仅是个版本系统。它也是个内容管理系统CMS,工作管理系统等。

如果你是一个具有使用SVN背景的人,你需要做一定的思维转换。来适应Git提供的一些概念和我特征。

Git与SVN区别点:

1,GIT是分布式的,SVN不是,这是GIT和其他非分布式的版本控制系统的,例如SVN,CVS等最核心的区别。

2,GIT把内容按元数据方式存储,它svn是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。

3,GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库的另外的一个目录。

4,GIT没有一个全局的版本号,而SVN有:目录为止这是跟SVN相比GIT缺少的最大一个特征。

5,GIT的内容完整性优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

Git配置

git 提供了一个叫做git config 的工具,专门用来配置或读取相应的工作环境变量。

这些环境变量,决定了Git在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

./etc/gitconfig文件:系统中的对有的用户都普遍适用的配置。若使用git config时用--system选项,读写的就是这个文件。

。~/.config文件:用户目录下的配置文件只适用于该用户。若使用git config时用 --global选项,读写的就是这个文件。

当前项目的git目录的配置文件(也就是工作目录下的.git/config文件):这里的配置仅仅针对当前的项目有效。每一个级别的配置会覆盖上层的相同配置,所以.git/config里的配置会覆盖/etc/gitconfig中的相同的变量

在window系统上,git会找寻用户主目录下的.gitconfig文件。主目录即$HOME变量的指定的目录,一般都是C:\Documetns and Settings\$USER.

此外,Git还会尝试寻找/etc/gitconfig文件,只不过看当初Git装在什么目录,就以此作为目录来定位。

用户信息

配置个人的用户称和电子邮件地址:

$ git config --gloabal user.name "test"

$ git config --global user.email test@163.com

如果用了 --global选项,那么更改的配置文件就是位于你用户主目录的那个,以后你所有的项目都会默认使用这里的配置的用户信息。如果要在某个特定的项目中使用其他的名字或电邮,只要去掉--glabal选项重新配置即可,新的设定保存在当前的.git/config文件里。

文本编辑器

设置Git默认使用的文本编辑器,一般可能会是Vi或者Vim。如果你有其他的偏好,比如Emacs的话,可以重新设置:

$git config --global core.editor emacs

差异分析工具

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用vimdiff 的话:

$ git config --global merge.tool vimdiff

git 可以理解kdiff3,thdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和opendiff等合并工具输出信息。

当前,你可以指定使用自己开发的工具,具体怎么做可以参阅其他的资料。

查看配置信息

要检查已有的配置信息,可以使用git config --list命令:

$git config --list

user.name=test

user.email=test@gmail.com

color.status=auto

color.branch=auto

color.interactive=auto

color.diff=auto

有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如/etc/gitconfig和~/.gitconfig),不过最终Git实际采用的是最后一个。

也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

$git config user.name

Test

git 教程一的更多相关文章

  1. CRL快速开发框架系列教程一(Code First数据表不需再关心)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  2. NGUI系列教程一

    NGUI是Unity的一个插件,使用它来制作你的游戏UI必定将事半功倍.为什么这么说呢?首先我们说说GUI与NGUI的区别,GUI是Unity自带的绘制界面工具,它的成像原理是基于表层的,所以执行效率 ...

  3. Quartz教程一:使用quartz

    原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处 ...

  4. Git: 教你如何在Commit时有话可说

    Git: 教你如何在Commit时有话可说   不知道大家有没有观察过那些在Github上Star数位居前列的项目,它们无一例外的都拥有完善的文档体系和高覆盖的测试用例.要做到完善没有规范肯定是不行的 ...

  5. redis学习教程一《Redis的安装和配置》

    redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执 ...

  6. Cobalt Strike使用教程一

    Cobalt Strike使用教程一     0x00 简介 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器.自3.0以后已经不在使用Metasploit框架而作为 ...

  7. 【学习总结】Git学习-参考廖雪峰老师教程一-Git简介

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  8. Git使用教程一

    Git是一个分布式版本控制系统,简单的说其就是一个软件,用于记录一个或若 干文件内容变化,以便将来查阅特定版本修订情况的软件. Github (https://www.github.com) 是-一个 ...

  9. Webpack教程一

    比较 如果你熟悉原来一系列的构建工具,grunt或者gulp之类的,这里有一篇webpack和他们比较的文章可以读一读. Webpack Compared 安装 先装好node和npm,因为webpa ...

随机推荐

  1. Fatal error: Call to undefined function mb_detect_encoding()

    1.找到php扩展目录(我的php扩展目录的路径是:C:\Program Files\AppServ\php\extensions)     在extensions目录下面找到php_mbstring ...

  2. simple_strtoul()

    //此函数有以下几点值得注意: //1.第一个参数中的const.一般在函数的形参中,如果我们只是希望调用者使用该参数,而不会去改变该参数 //     内容(一般是指针指向的内容),则可以声明为co ...

  3. Mac下php 5升级到php 7的步骤详解

    前言 在MAC OS X 10.11中php的版本是5.5的,近来一年多里,看到了很多关于php7介绍,以为php7增加了很多新特性,也删除了原来很多的老特性,所以一直以来并没想去尝试使用php7,但 ...

  4. std::string 用法

    string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化 string类的字符操作:const ...

  5. 实现同时提交多个form(基础方法) 收集

    实现同时提交多个form(基础方法) 收集 分类: 1.2-JSP 1.3-J2EE 1.1J2se 1.0-Java相关2011-12-01 20:59 1644人阅读 评论(0) 收藏 举报 bu ...

  6. Weblogic常见故障之二:XAER_NOTA XAException问题的解决

    在weblogic执行XA操作的时候,我们会碰到如下的错误,后来发现是JDBC配置的问题.主要报错:java.sql.SQLException: XA error: XAER_NOTA : The X ...

  7. MySql 建库建表脚本

    1.建库 CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 2.建表脚本 CREATE TABLE `c ...

  8. HDU1505(HDU1506的加强版)

    昨天打 CF又跪了.近期睡不好睡不好睡不好-感觉整个人都累傻了,根本无办法写下去,只写了一题签到题就跪了orz..从未试过这么悲剧. 今天早上凭着我的意念("怨念").七点又起来了 ...

  9. 向大家推荐两个灰常好用的插件LigerUI和报表控件highcharts

    废话不多说上一张图看看,向大家推荐两个灰常好用的插件LigerUI和报表控件highcharts.欢迎大家进技术群讨论:QQ群:15129679 http://ligerui.com/和http:// ...

  10. Java读写二进制文件示例

    相对于文本文件,二进制文件读写快,定位快而准,下面是代码示例: import java.io.DataInput; import java.io.DataOutput; import java.io. ...