Git使用学习记录(一、前置知识)

Git使用学习记录(一、前置知识)


Git简介

Git 是什么?

Git 是目前为止最为先进的分布式版本控制系统(分布式版本控制系统没有“中央服务器”,每个⼈的电脑上都是⼀个完整的版本库,⼯作时不需要联网,因为版本库就在⾃⼰的电脑上)。

为什么使用 Git ?

我们在修改文档或者修改代码后,可能会发现修改后的效果还不如修改前的,那我们就需要恢复到修改前的版本,一般会用到一下几种方法:

方法一: Ctrl + z 一步一步的回退,但是,如果之前有保存,那一步一步的回退并不能回退到最初的版本。

方法二:先将需要修改的文件另存为,再在另存为的文件中进行修改,但是,这样的一个弊端就是文档一直修改,文档的数量就不断增加,最后,一个文档可能会存在十几个副本。

方法三:使用 Git ,Git 会记录每次的文档改动(如下表所示),如果需要回到之前的某一个版本,只需要告诉 Git 回退到目标版本就好了。Git 还可实现多人协作。

版本 用户 说明 日期
1 张三 增加了日期设置 12/2 11:05
2 张三 修改了金额 12/3 10:34
3 李四 删除了人员数目限制 12/4 11:00

Git 的历史(以下内容来自维基)

自2002年开始,林纳斯·托瓦兹(Linus Torvalds)决定使用BitKeeper作为Linux内核主要的版本控制系统用以维护程式码。因为BitKeeper为专有软件,这个决定在社群中长期遭受质疑。在Linux社群中,特别是理查德·斯托曼与自由软体基金会的成员,主张应该使用开放原始码的软体来作为Linux核心的版本控制系统。林纳斯·托瓦兹曾考虑过采用现成软体作为版本控制系统(例如Monotone),但这些软体都存在一些问题,特别是效能不佳。现成的方案,如CVS的架构,受到林纳斯·托瓦兹的批评。

2005年,安德鲁·垂鸠(Andrew Tridgell)写了一个简单程式,可以连接BitKeeper的储存库,BitKeeper著作权拥有者拉里·麦沃伊认为安德鲁·垂鸠对BitKeeper内部使用的协议进行逆向工程,决定收回无偿使用BitKeeper的授权。Linux内核开发团队与BitMover公司进行磋商,但无法解决他们之间的歧见。林纳斯·托瓦兹决定自行开发版本控制系统替代BitKeeper,以十天的时间编写出git第一个版本。

集中式与分布式的区别

集中式本版控制系统:版本库是集中存放在中央服务器,如果工作需要修改某一文件,先需要从中央服务器获取最新的文件版本,然后开始文件修改,修改完成后,再把修改好的文件推送到中央服务器上。由于本地没有版本库,所以,集中式版本控制系统必须要在联网的环境中才能工作。

Git使用学习记录(一、前置知识)_第1张图片

分布式版本控制系统:分布式版本控制系统不存在中央服务器,每个人的电脑上都是有一个完整的版本库,可实现无网工作。

分布式版本控制系统与集中控制版本系统相比,分布式版本控制系统的安全性安全许多,因为每个人的电脑都有完整的版本库,所以不存在核心服务器。而集中式版本控制系统的中央服务器出现故障,所有人的工作都将停止。

如何实现多人协作?

由于每个人的电脑上都有完整的版本库,那如何告诉其他人,我对某文件进行了修改?这就需要自己将修改的文件推送给其他的人,但实际上大家不一定都处于同一局域网中,所以分布式版本控制系统通常也有一台充当中央服务器的电脑,但这只是为什么方便推送修改。
Git使用学习记录(一、前置知识)_第2张图片


安装 Git

推荐博客:Windows系统Git安装教程、Git教程(Linux、Windows、Mac 安装教程)


创建版本库

版本库又名仓库,相当于一个文件夹,这个文件夹里的文件都可以被 Git 管理,每个文件的修改、删除,Git 都能追踪管理。

  1. 选择合适的位置,利用 Git 建立一个空文件夹
    Git使用学习记录(一、前置知识)_第3张图片

    1.1 在列表中单击 Git Bash Here,输入 mkdir learngit 创建文件夹,然后我们就能在刚刚选中的文件夹中发现有一个新创建的 learngit 空文件夹(命名时最好不要出现中文,避免出现乱码错误)

    在这里插入图片描述

    Git使用学习记录(一、前置知识)_第4张图片

    1.2 在刚刚的终端中输入 cd learngit ,将当前的目录转移到新建的文件夹中

    在这里插入图片描述

  2. 通过 git init 命令把这个文件夹变成 Git 可以管理的仓库

    在这里插入图片描述

    瞬间Git就把仓库建好了,⽽且告诉你是⼀个空的仓库(empty Git repository),细⼼的 读者可以发现当前目录下多了⼀个 .git 的目录,这个目录是Git来跟踪管理版本库的,不要随意修改这个目录里的⽂件,防止 Git 仓库给破坏了。

参考文档:Git教程

你可能感兴趣的:(Git,git,学习,github)