一、初识Git

>>>>>>>>>>>>>>>>>>>>以下内容并非原创,来至与《pro git》一书<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

一、分布式版本控制系统

 较原始的本地版本控制系统,以及集中式版本控制系统(SVN),分布式版本控制系统(git)具有不可比拟的优势:
1)分布式

客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份.

                                         
2)离线式

由于每一个人在本地都拥有一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。只有在成员交互的时候,将本地repositories推送到远程repositories即可。

二、Git

1、git的历史背景

git作为一个分布式版本控制系统,最初由Linux的早期作者Linus Torvalds创作,用于Linux内核的维护工作(最初使用BitKeeper,但是现在人家不给你免费使用了>o<),所以开发了一套自己的分布式版本控制系统,其系统开发的目标如下,这也是git的非常出色的几个优势:

• 速度
• 简单的设计
• 对非线性开发模式的强力支持(允许上千个并行开发的分支)
• 完全分布式
• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
git至2005年诞生以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。

2、git 基础知识

git 在版本控制时将变化的文件进行快照,并记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一连接。

                                       
这是 Git 同其他系统的重要区别。它完全颠覆了传统版本控制的套路,并对各个环节的实现方式作了新的设计。Git 更像是个小型的文件系统。

3、git的优势

1)近乎所有操作都可本地执行

正如上面所说的,本地拥有一个完整的repository并保存了其历史的更新记录    ,故git的大部分操作并只需要访问本地资源即可。
2)保证数据的完整性

在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,Git 一无所知。这项特性作为 Git 的设计哲学,建在整体架构的最底层。所以如果文件在传输时变得不完整,或者磁盘损坏导致文件数据缺失,Git 都能立即察觉。

3)三种状态---以修改、以暂存、以提交

在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中,已提交表示该

文件已经被安全地保存在本地数据库中了。由此我们看到 Git 管理项目时,文件流转的三个工作区域:工作目录以及暂存区域, Git 的本地数据目录。
                                     

4、安装git(Windows)

Git网址: https://git-scm.com/ 根据自己的环境进行版本选择,安装默认安装向导即可。
安装完成后,打开Git Bash 进行相关的配置

1)配置用户名和邮箱
$ git config --global user.name "John Doe"
$ git config --global user.email "johndoe@example.com"

邮箱的设置要和远程仓库(github、码云)上的保持一致。配置完成后你的每一次commit都会产生一条log,而这条log会有提交人的姓名和邮箱,如下:
                         
2)配置默认文本编辑器:

设置的是默认使用的文本编辑器。Git 需要你输入一些额外消息的时候,会自动调用一个外部文本编辑器给你用。默认会使用操作系统指定的默认编辑器,一般可能会是Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
$ git config --global core.editor emacs

3)配置差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff的话:
$ git config --global merge.tool vimdiff

4)查看所有的配置
git config --list

5)更多精彩请查看
$ git help

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值