Git 基础01 — 简介与安装

简述

有许多做开发的同学都听说过 Git,聊 Git,就需要明白一个概念—-版本控制。所谓的 版本控制 就是指一种在开发过程中用于管理对文件、目录、工程、代码等内容的修改历史,可以很方便地回滚、备份与查看历史等。这样做的好处有:

  • 跨区域的多人协同开发
  • 追踪与记载一个或多个文件的历史记录
  • 组织和保护源代码以及文档
  • 统计工作量
  • 并行开发,提高开发效率
  • 记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间成本,降低人为错误

对于很多人来说,日常工作实际就已经涉及到了版本控制。例如公司制作的劳动合同,参与的部门有人事、行政、财务、法务等等,合同为了在中文语境下要足够严谨,需要在每个环节抠细节,避免法律风险。初稿版本定义为 V0.0.1,更迭的慢一点可能就只有那么两三个文件,但是如果勤快的话,10个 word 文件也不过分。通常情况下,合同最终以一个完整的文件呈现在人的手中,但如果要细查谁修改了什么?什么时间修改的?是否可以回滚到某一个时间的版本?可以是可以,但浪费了较多的时间成本,不方面管理。这种痛点也体现在乙方给甲方提供的解决方案上,乙方需要根据甲方的需求来回修改文件中的文字,最终一个目录下十来个 word 或者 pdf 文件也不过分。

像上面两个例子,就是手工的进行版本控制。

你在日常工作中需要进行版本控制,代码或者说软件项目也是如此,Git 就是为了解决这样的用户痛点的一个系统(或者叫 版本控制器),官方给 Git 的定义是:一个免费的开源的分布式版本控制系统,皆在快速高效地处理从小到大的所有项目。

Q:有其他的版本控制工具吗?

有,除了 Git ,还有 SVN、CVS 等,一般在公司当中,多用流行的 Git 或者基于 Git 的衍生版。

版本控制的分类

  1. 本地版本控制

    例如上面两个例子就是把文件存放在本地,这个就是本地的版本控制,好处是简单、方便、适合个人使用

  2. C/S 版本控制

    就是将所有的版本数据都保存在 server 上,开发者必须联网并从服务器上同步更新或者上传自己的修改,典型的代表产品是 SVN。举个例子,A 用户在2021年9月13日 22:25:30 提交了文件(如果这个文件比较大的话),但如果 B 用户在 22:26:02 时间从 SVN 服务器上 "拉取" 最新的版本,该版本肯定是旧版本,因为 A 用户并没有将所做的修改 "推" 完,导致版本不统一。另外,由于是单台服务器,比较容易出现单点故障的问题,历史版本的数据保存可能也是用传统的定期备份。

  3. 分布式版本控制

    典型的代表就是 Git。所有的版本信息全部同步到本地的每个用户,这样可以在本地查看所有历史版本,可以离线在本地提交,当联网时再 push 到其他的用户那里。它没有单点故障的问题,但由于保存了所有的版本历史数据,因此 Git 占用的存储空间会相对比较多。另外,由于每个人都拥有项目的完整历史版本,基于安全性考虑,有些公司开发出的付费商业产品可能会采用 SVN,避免因一个人跑路而将全部原始代码拷贝走的情况。虽然 Git 有一些权限上面的问题,但 Git 依旧是世界上最先进的分布式版本控制系统。

诞生历史

《GNU/Linux 操作系统简介》 我们介绍到了:

1991 年:一名芬兰赫尔辛基大学的大学生林纳斯·托瓦兹(Linus Torvalds),专业为计算机,当时学习的操作系统是 MINIX。后来,Linus 和一些爱好者,以 MINIX 为模板,利用 bash、gcc 等工具,结合自己的补丁和其他人的补丁,写出了第一版本的 Linux 内核(符合 POSIX 标准),同时放到网上供人们下载、学习、改进等。9 月,Linux 内核版本 0.01 在芬兰大学和研究网络(FUNET)的 FTP 服务器 上发布,它有 10239 行代码。10 月,0.02 版本的内核发布了。12 月,0.11 版本的内核发布。
1992 年 2 月:发布 0.12 版本并采用了 GNU 通用公共许可证(GPL),而在此之前的版本是不允许商业再分发的。
1994 年 3 月 14 日:Linux 内核 1.0.0 版本发布。

前面提到,Linus 将 Linux 内核开源了,世界上许多的开源项目爱好者都参与了其中。在2002年以前,在对 Linux 内核维护期间,有相当多的时间都花在了提交补丁与保存归档等繁琐的事情上。

时间来到2002年,由于 Linux 内核的代码量激增,维护 Linux 内核越来越困难,整个项目组决定启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

开源社区里牛人众多,有相当多的人准备研究并破解 BitKeeper,这其中就有开发了 Samba 的澳大利亚程序员 Andrew Tridgwell。2005年,开发了 BitKeeper 产品的商业公司 BitMover 结束了与 Linux 内核开源社区的合作关系,收回了 Linux 内核社区免费使用 BitKeeper 的权利,原因在于社区牛人干破解的行为被 BitMover 公司发现了。

由于 BitKeeper 已经不能被使用,但维护 Linux 内核的工作还得继续,于是 Linus 在两周左右的时间里用 C 语言开发出了 Git,并用一个月的时间将 Linux 内核的源码交由 Git 来管理。截止本文发表前,Git 的版本为 2.48.1 (2025-01-13)

安装

官方网站 —— https://git-scm.com/
Git项目地址 —— https://github.com/git/git

  1. Windows

    安装过程也很简单,将 安装包 下载下来,下一步下一步即可,没有太多需要介绍的。

    安装结束后,在桌面空白处右击则会有这样的一个菜单:

  2. GNU/Linux

    RHEL 的上下游发行版直接键入以下命令即可:

    Shell > dnf -y install git
Avatar photo

关于 陸風睿

GNU/Linux 从业者、开源爱好者、技术钻研者,撰写文档既是兴趣也是工作内容之一。Q - "281957576";WeChat - "jiulongxiaotianci"
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇