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 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

原文地址:https://www.cnblogs.com/langhua/p/4506564.html