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

[TOC]

说明

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

1 版本控制

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

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

2 git简介

2.1 why git?

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

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

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

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

2.2 git基本思想

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

  • 直接记录快照,而非差异比较

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

  • 近乎所有操作都是本地执行

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

  • 保证完整性

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

2.3 文件状态

git文件状态
  • 工作区:该区域的文件是某一个具体的历史提交。是从仓库中提取出的一个版本
  • 暂存区:是一个文件,保存了下次将提交的文件列表信息
  • .git目录:所有历史版本的仓库,存储了所有的历史提交

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

  • 已提交:文件存储在.git目录中
  • 已修改:自上次提交后做了修改但还没有添加到暂存区
  • 已暂存:文件已经添加到暂存区,但还没有提交到历史记录(.git)

git工作流程

  • 在工作区中编辑文件
  • 将修改好的文件加入暂存区,待下次提交
  • 将暂存区中的文件提交到历史仓库

3 git基本配置

3.1 git配置文件

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

  • system

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

git config --list
  • global

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

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

git config --global --list
  • local

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

位置:${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'

参考资料

  • 《progit》
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容