在Git官网上找到这样一段描述
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
重点是 version control system (VCS),翻译过来也就是 版本控制系统。(Pycharm中有一个)
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
(我的理解就是一个东西会有不同的版本,就像吃鸡,常常更新,每更新一次就是一个新的版本,如果刚发行的版本出现毒圈不掉血,这个时候就需要版本回退。。版本控制系统就体现作用了)
版本控制系统又分为:本地版本控制系统、集中化的版本控制系统、分布式版本控制系统。

本地版本控制系统

集中化的版本控制系统

分布式版本控制系统
更多介绍可以来看 1.1 起步 - 关于版本控制
2002 年,Linux 内核开源项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
但是到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:
基本的 Git 工作流程如下:
在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。
举个例子,要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再显示出来——它只需直接从本地数据库中读取。 你能立即看到项目历史。 如果你想查看当前版本与一个月前的版本之间引入的修改,Git 会查找到一个月前的文件做一次本地的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本地处理。
Git 中所有数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。 这个功能建构在Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损坏文件,Git 就能发现。
Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来。 SHA-1 哈希看起来是这样:
24b9da6552252987aa493b52f8696cd6d3b00373
Git 中使用这种哈希值的情况很多,你将经常看到这种哈希值。 实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。
你执行的 Git 操作,几乎只往 Git 数据库中增加数据。 很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。 同别的 VCS 一样,未提交更新时有可能丢失或弄乱修改的内容;但是一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。
由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。

安装 Git
说了那么多,现在开始动手,安装Git。
$ sudo yum install git
或者
$ sudo apt-get install git
下载安装包 Downloading Git
或者
$ brew install git
直接下载文件 Downloading Git
或者
安装 GitHub for Windows
$ git config --global user.name "name"
$ git config --global user.email example@example.com如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。
$ git config --list
user.name=name
user.email=example@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...若你使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>例如,要想获得 config 命令的手册,执行
$ git help config
以前只是了解 Git常见的push、commit等命令,从没有对 Git进性过系统学习,抓紧时间学习。
目标:两周后,也就是3月28日,能熟练使用 Git进性开发。
这一篇主要讲了些背景知识吧,下一篇就是实际的操作了。
主要从Git文档上截取自己认为重要的部分,有条件可以去仔细阅读。
本文分享自 Python爬虫与算法进阶 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!