Git 仓库管理功能是 GitHub 的核心。因此,使用 GitHub 之前必须先掌握 Git 的相关知识,同时本地的设备还要安装 Git 的环境。
Git 诞生背景
Git 属于分散型版本管理系统,是为版本管理而设计的软件。
Linux 的创始人 Linus Torvalds 在 2005 年开发了 Git 的原型程序。当时,由于在 Linux 内核开发中使用的既有版本管理系统的开发方许可证发生了变更,为了更换新的版本管理系统,Torvalds 开发了 Git。
Linux 内核的更新速度在全世界也算首屈一指。因此,势必需要一个功能强、性能高的版本管理系统来提高开发速度。
在当时的开源环境下,虽然已经有数款版本管理软件被开发出来,但功能和性能都差强人意。加之 Git 是由 Linus Torvalds 亲自着手开发的,可以说在功能与性能方面无可挑剔。程序员们愿意接受 Git,很大程度上取决于这个背景。
Git 功能多到夸张,让人觉得至今都没能彻底掌握它。在发布之初,Git 由于其艰涩难懂,只有部分黑客愿意使用。但随着众多开发者的共同努力,现在它已被全世界的程序员们所采用。
什么是版本管理
版本管理就是管理更新的历史记录。它为我们提供了一些在软件开发过程中必不可少的功能,例如记录一款软件添加或更改源代码的过程,回滚到特定阶段,恢复误删除的文件等。
Git 出现以前,人们普遍采用 Subversion 等集中型版本管理系统,而现在 Git 已经成为了主流。所以要学习版本管理,最好学习 Git。
集中型与分散型
版本管理系统分为 Subversion 这类集中型和 Git 这类分散型的。
集中型
以 Subversion 为代表的集中型,会将仓库集中存放在服务器之中,所以只存在一个仓库。这也是称之为集中型的原因。
集中型将所有数据集中存放在服务器当中,有便于管理的优点。但是一旦开发者所处的环境不能连接服务器,就无法获取最新的源代码,开发也就几乎无法进行。服务器宕机时也是同样的道理,而且万一服务器故障导致数据消失,恐怕开发者就再也见不到最新的源代码了。
分散型
以 Git 为代表的分散型:如图所示,GitHub 将仓库 Fork 给了每一个用户。Fork 就是将 GitHub 的某个特定仓库复制到自己的账户下。Fork 出的仓库与原仓库是两个不同的仓库,开发者可以随意编辑。
如图所示,分散型拥有多个仓库,相对而言稍显复杂。不过,由于本地的开发环境中就有仓库,所以开发者不必连接远程仓库就可以进行
开发。
图中只显示了一般的使用流程。实际上,所有仓库之间都可以进行push 和 pull。即便不通过 GitHub,开发者 A 也可以直接向开发者 B 的仓库进行 push 或 pull。因此在使用前如果不事先制定规范,初学者往往会搞不清最新的源代码保存在哪里,导致开发失去控制。
集中型和分散型哪个更好
要说集中型与分散型哪个更好,其实双方都各有优缺点,需要看具体情况而定。不过,随着 Git 与 GitHub 的普及,今后使用分散型的开发者将会占绝大多数。只要规则制定得当,分散型同样能像集中型那样进行管理。
安装 Git
Mac 与 Linux
Mac 中都预装了 Git。而各版本的 Linux 中也都以软件包(Package)的形式提供给客户了,所以这两个系统的用户可以直接使用。
Windows
首先,下载 Git。
下载地址1:直接点击 DownLoad。
下载地址2:选择适合自己机型的版本下载
然后打开安装包,跟着安装向导进行设定。
选择安装目录,点击Browse 进行切换
进行组件的选择,所有的必要组件都已默认勾选,可直接进入下一步。
==注意:==最后一个选项打勾的话,则需要下载 Windows Terminal 配合 Git Bash 使用。
选择开始菜单文件夹
选择 Git默认编辑器
Git 安装程序中内置了一些编辑器选择,默认是 Vim 编辑器,纯命令行,如果选择其他的编辑器则需要到官网下载(切换其他选项后,点击如下图的蓝色字体,会跳转到相应的编辑器官网)软件后才能继续下一步。
决定初始化新项目的主干名称
一般默认选第一个,这次选第二个试一下。
设置环境变量
选择第二种较好,因为可以通过第三方软件进行 Git,而最后一种适合比较高手的人玩的转。
选择SSH 执行文件
选择HTTPS后端传输文件
如果在具有企业管理证书的组织中使用 Git,则需要使用安全通道,选后者。而普通的学生等只是访问 GitHub等则选择前者即可。
换行符的处理
GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return + Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。
Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的“Checkout Windows-style, commit Unix-style line endings”选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为LF。
配置终端模拟器配合 Git Bash 一起使用
选择默认的“ git pull ”行为
git pull 就是获取最新的远程仓库分支到本地,并与本地分支合并。
选择一个凭证帮助程序
第一个选项是提供登录凭证帮助的, Git 有时需要用户的凭证才能执行操作。如:优势可能需要输入 用户名 和 密码 才能通过 HTTP 访问远程存储库(GitHub,GltLab等)
配置额外的选项
配置实验性选项
可以不用选
安装完成
初始设置
设置用户名和邮箱地址
打开 git bash.exe ,弹出命令窗口,设置用户名和邮箱,与 GitHub 上的用户名和邮箱地址相同。
尘封@LAPTOP-JSR98B1V MINGW64 ~
$ git config --global user.name "chenfeng-hx"
尘封@LAPTOP-JSR98B1V MINGW64 ~
$ git config --global user.email "text021578@Outlook.com"
这个命令,会在“~/.gitconfig”中以如下形式输出设置文件。(为什么我的没有增加,下面的也是一样)
[user]
name = chenfeng-hx
email = text021578@Outlook.com
想更改这些信息时,可以直接编辑这个设置文件。这里设置的姓名和邮箱地址会用在 Git 的提交日志中。由于在 GitHub 上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。
在 GitHub 上公开代码后,前来参考的程序员可能来自世界各地,所以请尽可能使用英文进行描述。
提高命令输出的可读性
将 color.ui 设置为 auto 可以让命令的输出拥有更高的可读性。
$ git config --global color.ui auto
“~/.gitconfig”中会增加下面一行。
[color]
ui = auto
这样一来,各种命令的输出就会变得更容易分辨。
写在最后:
首先,如果本篇文章有任何错误,烦请读者告知!不胜感激!
其次,本篇文章仅用于日常学习以及学业复习,如需转载等操作请告知作者(我)一声!
最后,本文会持续修改和更新,如果对本分栏的其他知识也感兴趣,可以移步目录导航专栏,查看本分栏的目录结构,也更方便对于知识的系统总结!
兄弟姐妹们,点个赞呗!
感谢!笔芯!
本文参考资料: