Faster-git/lecture 01

第一章 Git简介

1.1版本控制

1.1.1 什么是版本控制系统?

版本系统能够帮助我们记录代码的变化,并且可以直接恢复到某个版本的代码,不需要一直操作ctrl+z,我们可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。

1.1.2 集中式版本控制vs分布式版本控制系统

现有的版本控制系统主要有两种形式:集中式和分布式。

集中式版本控制系统:集中式版本库集中存放于一个单一的中央服务器的,保存所有文件的修订版本,需要在联网的情况下才能工作。集中式版本控制有一个很致命的问题:中央服务器的单点故障。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

分布式版本控制系统: 分布式版本控制系统根本没有“中央服务器”, 我们每次是把代码仓库完整地镜像下来,包括完整的历史记录,不需要在联网的情况下就能工作。这使得每个人的电脑上都是一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

1.2 Git简介和历史

说到Git的诞生,我们就不得不提一下Linux之父 Linus Torvalds和Linux。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。

但是到了2005年,开发BitKeeper的商业公司认为Linux开发者内部有人对BitKeeper内部使用的协议进行逆向工程,因此他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:

  • 速度

  • 简单的设计

  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

  • 完全分布式

  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

于是在Linux之父Linus Torvalds的带领下用了10天编写出了第一个Git版本。自诞生以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统(参见 Git 分支)。

1.3 Git的安装

关于Git的安装,我们可以访问Git book所给的下载教程进行下载,我们在下面的几部分也是仅做简要叙述。具体链接 --> 安装 Git

1.3.1 Linux

我们可以在terminal输入git命令查看系统有没有安装git。如果没有安装的话,我们可以访问git关于linux和unix的安装页面,输入对应的安装命令。网页链接 --> Download for Linux and Unix 对于常见的Debian和Ubuntu Linux,我们可以通过

sudo apt-get install git

就可以直接完成Git的安装。

1.3.2 Windows

在 Windows 上安装 Git 也有几种安装方法。 我们也可以打开 Git - Downloads 进行下载安装。安装好后我们可以打开Git bash。

另一个简单的方法是安装 GitHub Desktop。 该安装程序包含图形化和命令行版本的 Git。 它也能支持 Powershell,提供了稳定的凭证缓存和健全的换行设置。

1.3.3 macOS

在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。

git --version

如果没有我们安装过命令行开发者工具,terminal也会提示你安装。

如果我们想安装更新的版本,可以使用二进制安装程序。 官方维护的 macOS Git 安装程序可以在 Git 官方网站下载,网址为 https://git-scm.com/download/mac%E3%80%82

1.3.4 初次运行Git的配置

当我们安装好Git后,还需要在Git bash或者terminal进行一些相关设置,以下设置仅需设置一次即可。

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

除此之外,Git还有很多设置,包括常用编辑器等,大家可以键入以下命令查看自己的设置并进行修改。

git config --list

1.4 相关学习资源

在这里给大家推荐几个学习Git的资源,希望可以帮助大家在未来对Git有着更深的了解。

  • 33
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值