GitHub入门与实践:第二章 Git的导入

本文介绍了Git的诞生背景,解释了版本管理的重要性,特别对比了集中型和分散型版本管理系统的优缺点。此外,详细讲述了Git的安装过程,包括在Mac、Linux和Windows环境下的安装步骤,并强调了Git初始设置,如配置姓名和邮箱地址以提高命令输出的可读性。
摘要由CSDN通过智能技术生成

本系列文章是我在学习《GitHub入门与实践》一书的过程中做的读书笔记,感谢作者、译者。
电梯:
第一章 欢迎来到GitHub的世界
第二章 Git的导入
第三章 使用GitHub的前期准备
未完待续。。。

tHub 之前必须先掌握 Git 的相关知识,同时本地的设备还要安装 Git 的环境。

2.1. 诞生背景

Git 属于分散型版本管理系统,是为版本管理而设计的软件。
Linux 的创始人 Linus Torvalds 在 2005 年开发了 Git 的原型程序。当时,由于在 Linux 内核开发中使用的既有版本管理系统的开发方许可证发生了变更,为了更换新的版本管理系统, Torvalds 开发了 Git。
Git 功能多到夸张,让人觉得至今都没能彻底掌握它。同时,它大幅削减了笔者花在版本管理系统上的时间,现在如果没有 Git,软件开发恐怕会是一件非常痛苦的事情。

2.2. 什么是版本管理

版本管理就是管理更新的历史记录。它为我们提供了一些在软件开发过程中必不可少的功能,例如记录一款软件添加或更改源代码的过程,回滚到特定阶段,恢复误删除的文件等。
在 Git 出现以前,人们普遍采用 Subversion 等集中型版本管理系统,而现在 Git 已经成为了主流。由于 GitHub 的普及,想必世界上使用 Git的人会越来越多。因此要学习版本管理的各位,建议您选择 Git。

2.2.1. 集中型

以 Subversion 为代表的集中型,会如图 2.1 所示将仓库集中存放在服务器之中,所以只存在一个仓库。这就是为什么这种版本管理系统会被称作集中型。
在这里插入图片描述
集中型将所有数据集中存放在服务器当中,有便于管理的优点。但是一旦开发者所处的环境不能连接服务器,就无法获取最新的源代码,开发也就几乎无法进行。服务器宕机时也是同样的道理,而且万一服务器故障导致数据消失,恐怕开发者就再也见不到最新的源代码了。

2.2.2. 分散型

图 2.2 是以 Git 为代表的分散型的示意图。如图中所示, GitHub 将仓库 Fork 给了每一个用户。 Fork 就是将 GitHub 的某个特定仓库复制到自己的账户下。 Fork 出的仓库与原仓库是两个不同的仓库,开发者可以随意编辑。
在这里插入图片描述
如图所示,分散型拥有多个仓库,相对而言稍显复杂。不过,由于本地的开发环境中就有仓库,所以开发者不必连接远程仓库就可以进行开发。
图中只显示了一般的使用流程。实际上,所有仓库之间都可以进行push 和 pull。即便不通过 GitHub,开发者 A 也可以直接向开发者 B 的仓库进行 push 或 pull。因此在使用前如果不事先制定规范,初学者往往会搞不清最新的源代码保存在哪里,导致开发失去控制。不过不用担心,只要各位随着本书的讲解亲自动手尝试,想掌握要领并不是一件难事。

2.2.3. 集中型与分散型哪个更好

要说集中型与分散型哪个更好,其实双方都各有优缺点,需要看具体情况而定。不过,随着 Git 与 GitHub 的普及,今后使用分散型的开发者将会占绝大多数。只要规则制定得当,分散型同样能像集中型那样进行管理。
考虑到今后的各种机遇与挑战,从一开始就选择分散型,必定是各位成功路上的关键一步。只要脑中掌握了多个仓库并存的概念,学习分散型并不是什么难事。

2.3. 安装

接下来就让我们在本地环境中实际安装 Git,进行各种设置。

2.4.1. Mac 与 Linux

最近的 Mac 中都预装了 Git。而各版本的 Linux 中也都以软件包(Package)的形式提供给用户了,所以各位可以直接使用。

2.4.2. Windows

在 Windows 环境中,最简单快捷的方法是使用 msysGit。
下载地址: http://msysgit.github.io/
安装包下载完毕后,只要双击运行,按照向导一步步安装即可。
(1) 组件的选择
在图 2.3 的页面中选择需要的组件。由于所有必要组件都已默认勾选,大可直接进入下一步。
在这里插入图片描述
(2) 设置环境变量
在图 2.4 的页面中,可以设置调用 Git 的环境变量。本书的讲解只会用到 msysGit 中附属的 Git Bash 命令提示符,所以请选择最上面的Use Git Bash only,然后进行下一步。
在这里插入图片描述
(3) 换行符的处理
在图 2.5 所示的页面中,选择换行符的相关设置。
在这里插入图片描述
GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return + Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。
Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的“ Checkout Windows-style, commit Unix-style line endings”选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为LF。
各位请注意以上这几点,配合当前使用的环境进行安装。
(4) Git Bash
顺利安装好 msysGit 之后, Git Bash 会作为一个应用程序添加进系统,接下来请启动它。双击之后,会弹出一个名为 Git Bash 的命令提示符(图 2.6),它附属于 msysGit。如果各位是按照本书中介绍的流程进行安装,那么 git 命令就只能在 Git Bash 中使用,在 Windows 附属的命令提示符中则无法运行。
在这里插入图片描述
从名字中带有 Bash 就不难猜到, Git Bash 中照搬了许多 Bash 命令,习惯 Linux 的人用起来会感觉比 Windows 命令提示符更得心应手。
建议各位尽量安装最新版的 Git。

2.4. 初始设置

2.4.1. 设置姓名和邮箱地址

首先来设置使用 Git 时的姓名和邮箱地址。名字请用英文输入。

$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@example.com"

这个命令,会在“ ~/.gitconfig”中以如下形式输出设置文件。

[user]
name = Firstname Lastname
email = your_email@example.com

想更改这些信息时,可以直接编辑这个设置文件。这里设置的姓名和邮箱地址会用在 Git 的提交日志中。由于在 GitHub 上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。
在 GitHub 上公开代码后,前来参考的程序员可能来自世界任何地方,所以请不要使用汉字,尽量用英文进行描述。当然,如果您不想使用真名,完全可以使用网络上的昵称。

2.4.2. 提高命令输出的可读性

将 color.ui 设置为 auto 可以让命令的输出拥有更高的可读性。

$ git config --global color.ui auto

“ ~/.gitconfig”中会增加下面一行。

[color]
ui = auto

2.4.3. 使用vim访问gitconfig文件

$ vim ~/.gitconfig
[user]
        name = long mao
        email = 850479603@qq.com
[color]
        ui = auto

2.4. 小结

本章中,我们从 Git 诞生的背景说起,讲了版本管理系统中集中型和分散型的相关知识。然后还实际安装了 Git,并进行了初始设置。
如果您是一名开发者,今后使用 Git 的情况必然越来越多。请务必认真进行初始设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值