git 教程一

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 [email protected]

如果用了 --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

[email protected]

color.status=auto

color.branch=auto

color.interactive=auto

color.diff=auto

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

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

$git config user.name

Test

时间: 2024-08-19 02:03:05

git 教程一的相关文章

highcharts实例教程一:结合php与mysql生成折线图

Highcharts是一款纯javascript和html5编写的图表库,不仅几乎能兼容所有pc浏览器,而且对ios和android手机端的兼容 性也不错,它能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.折线图.面积图.柱状图.饼图.散点图 等多达28种不同类型的图表,还支持3D立体图表的生成,可以满足你对Web图表的任何需求 !而且Highcharts对学习者.非商业机构是免费使用的. 案例场景:要求针对技术cto网站,直观地显示一周网站pv.

ibatis入门教程一

这几天研究ibatis玩,参考一篇贴子进行安装配置:蓝雪森林 选择这个帖子来跟随配置是因为这个帖子看着比较干净,但是我仍旧在配置得过程中出现了好几个问题,所以我决定在这个帖子的基础上将更多细节加上,做一个傻瓜教程. 一.前期准备 虽然ibatis能处理多种数据库,不过初学者还是比较适应mysql,因此我选择mysql作为我的数据载体.另外我准备建的是一个普通的java 工程,并采用maven命令行来建立这个工程.所以在这之前,电脑上需要安装maven和mysql. 二.工程建立 ①使用maven

php教程一,变量

php是一种动态脚本语言,比较适合web开发. php支持8种变量数据类型: 四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也称作 double) string(字符串) 两种复合类型: array(数组) object(对象) 最后是两种特殊类型: resource(资源) NULL(无类型) 变量你可以这样理解,假如php是一个人的话,变量就是各种类型的衣服,设定变量的用途就是在合适的场合穿上合适的衣服 变量的重点就是在于在变字,它不是一个固定的值,我

Quartz教程一:使用quartz

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正:有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中). Scheduler在使用之前需要实例化.一般通过SchedulerFactory来创建一个实例.有些用户将factory的实例保存在JNDI中,但直接初始化,然后使用该实例也许更简单(见下面的示例). sch

C#系列教程一:C#的前世今生,VS了解

我的学习历程 回头想想,其实没碰windows的时间真的很长了.我大概是两年前的时候开始做iOS开发的,2012年3月份吧.从那以后就很少用到windows系统.现在工作都用mac机器,对windows的好感也越来越淡,再加上坑爹的windows8,我本来以为我再也不可能碰windows了,没想到最近的项目又让我不得不重新拾起以前的windows编程,继续C#开发. 我大二的时候开始接触windows编程,那时候VC++很流行,感觉C++也不错,自己可以手动画一个窗体有点狂拽炫酷叼.以前有画过类

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

redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作. 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等.这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决. 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果

kettle系列教程一

 1.kettle介绍 kettle是一个ETL(Extract, Transform and Load抽取.转换.载入)工具,ETL工具在数据仓库项目使用非常频繁,kettle也可以应用在以下一些场景: 在不同应用或数据库之间整合数据 把数据库中的数据导出到文本文件 大批量数据装载入数据库 数据清洗 集成应用相关项目是个使用 kettle使用非常简单,通过图形界面设计实现做什么业务,无需写代码去实现,因此,kettle是以面向元数据来设计: kettle支持很多种输入和输出格式,包括文本文

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

SSM+Maven(教程一):学习SSM框架的前提条件。

一.准备工作 二.环境准备 1.配置jdk:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html Intelij中配置JDK:File-Project Structure 2.配置maven:http://www.cnblogs.com/qiuyong/p/6292678.html 3.Intelij配置git:.. 三.知识储备 参考Web初阶.Jsp/servlet.Mybatis系列.上述建议针对于刚入门的同学.特别是