git-01-简介、安装和配置

2017-02-28  本文已影响18人  hylexus

[TOC]

说明

本篇文章是本人回顾git知识点时从《progit》一书中摘抄出来的笔记,毕竟好记性不如烂笔头嘛,不然我也不会回顾了……
另请大神绕路,不喜勿喷……

1 版本控制

版本控制即记录文件内容变化,将来可以随时回退到历史版本,控制文件的变更。
比如你编辑文档时可能会随时把整个文档或多个文档完完整整复制一份,再加上日期用以备份,这也就是版本控制了。不过这样毕竟效率不高,还容易出错。

有了版本控制这个需求,对应的软件产品就出现了:

2 git简介

2.1 why git?

传统的集中式版本控制系统比如SVN等都有一个单一的集中管理的服务器,保存所有文件的变更,而所有客户端都连到这台服务器,提交自己的更新或拉去新版本。这样一来,只有中央服务器宕机,所有的客户端都将无法提交自己的更新也无法拉去新的版本。甚至可能丢失历史记录。

像git等DVCS,客户端是把代码仓库完整地镜像下来。每一次的变更都是对仓库的一次完整备份。
常常都是本地一个仓库,远程一个仓库。

以下是progit一书中对git的描述:

2.2 git基本思想

以下内容是来自《progit》一书中对git的总结:

简言之,其他大部分版本控制系统正式记录文件的变更部分,待回退版本的时候再“计算”出某个历史提交的文件内容。
而git是记录整个文件内容的快照。当然,文件没有变更的时候是不会产生重复的快照的,只是用一个类似指针的东西只想之前的快照。

就像上面提到的:“一个本地仓库,一个远程仓库”。
工作时,几乎所有操作都是对本地仓库的操作。待需要提交时再提交的远程仓库。
也就是说,大多数操作都不需要联网。

文件内容变了,那么文件的特征码就会变,在远程传输的时候损坏或者误操作修改文件都会被记录。

2.3 文件状态

git文件状态

针对于以上三个区域,文件的状态有如下三种:

git工作流程

3 git基本配置

3.1 git配置文件

配置文件按作用域的不同可以分为三类,优先级从低到高:

系统范围的配置文件,所用用户的通用配置。

git config --list

只针对当前用户的配置,会覆盖system级别的配置。

位置:/.gitconfig或/.config/git/config

git config --global --list

针对于当前仓库的特殊配置

位置:${project}/.git/config

其内容可以通过如下方式查看:

git config --local --list
[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true

git配置文件格式

global级别的配置文件内容举例

本人机器上配置文件位置为:C:/Users/hylexus/.gitconfig

配置文件内容如下:

[user]
    email = hylexus@163.com
    name = hylexus
[alias]
    lol = log --graph --oneline --decorate --all

等号左边为键,右边为值。

其中配置项为:

通过命令查看以验证:

$ git config --global --list
user.email=hylexus@163.com
user.name=hylexus
alias.lol=log --graph --oneline --decorate --all

3.2 配置用户信息

用户信息应该配置为针对于当前用户的,因为在每次提交的时候会使用用户信息作为修改者.。

设置

$ git config --global user.name "hylexus"
$ git config --global user.email "hylexus@163.com"

查看

$ git config --global user.name
hylexus
$ git config --global user.email
hylexus@163.com

3.3 修改默认编辑器

此处本人在windows上用命令配置sublime作为默认编辑器,但是失败了。
原因是sublime的安装路径中有个目录中带空格。

此处尝试失败

$ git config --global core.editor "D:/install/sublime/Sublime Text 3/sublime_text.exe"

执行之后,git并没法打开sublime,因为在配置文件中的值是去掉引号的“Sublime Text 3”路径含有空格。
配置文件长这样:

[user]
    email = hylexus@163.com
    name = hylexus
[core]
    editor = D:/install/sublime/Sublime Text 3/sublime_text.exe

直接修改配置文件

修改文件C:/Users/hylexus/.gitconfig,为路径手动加上引号即可。

[user]
    email = hylexus@163.com
    name = hylexus
[core]
    editor = 'D:/install/sublime/Sublime Text 3/sublime_text.exe'

参考资料

上一篇 下一篇

猜你喜欢

热点阅读