Git学习笔记(1): Git基本工作流程


注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/106085462


1 Git是什么

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Linus Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 。
(以上均来自百度百科)


关于Git的历史

注: 关于Git的历史内容均来自:动画:扫盲 Git 版本控制

说起 Git 的崛起特别有意思,最早的版本控制是出于 BitKeeper 公司的。而且应用于最大的开源系统 Linux,Linux 的作者Linus 早就把 Linux 作为全世界的开源项目,Linux 的诞生少不了世界很多开源贡献者的参与。
因为贡献的开发者来自世界各地,就会出现上述出现的问题,前期只能靠 Linus一个人手动合并代码,后来系统变的原来越庞大,需要使用 BitKeeper 公司的版本控制, BitKeeper 公司看了他们这么热爱开源,就免费让 Linux 的开发者们使用。
面对来自世界各地 Linux 的开发者,更何况这些人都是牛人,风云四起,就喜欢搞点事情,对 BitKeeper 公司版本控制下手了,对公司内部的协议进行了****(反编译),但是很不幸运,被人家知道了。
这下可好了,本来人家公司让你免费试用,你非要**人家东西,还让人家知道了,弄得 Linux 的作者 Linus 不得不去道歉,但是 Linux 道歉没有妥协,最后人家 BitKeeper 公司收回了免费使用权。
兄弟们,既然人家不让用了,那就自己动手丰衣足食呗。 大神Linus 仅仅用十天的时间用 C 语言编写出了 Git 的第一个版本。Git 经过几年火了起来,不愧是玩 Linux 的大神,Git 不仅性能极大的得到提升,而且开源免费,这就使得 Git 在 2008 年入住全球最大的开源社区,为开源项目免费提供存储,导致了很多开发者喜欢上了 Git,现如今 Git 也称为最流行的分布式版本控制系统。
Git 之前的版本控制是 SVN 和 CVS,但是这两者有很明显的缺点,它是集中式的版本控制,什么是集中式的?就是必须提供一台服务器,团队合作都围绕着这个服务器进行合并。它是基于局域网的,比如现在有些公司还在使用 SVN,一旦到了家里办公,所写的代码就不能提交到这个服务器。
但是 Git 是分布式版本控制系统,任何地方,任何地点,不同局域网下,想什么时候提交就什么时候提交,而且提交的速度非常的快。




2 Git工作区域

Git工作区域图下图所示:


Git学习笔记(1): Git基本工作流程


(1) 工作区(Working Directory)
添加、编辑、修改文件等操作。

(2) 暂存区(Stage)
暂存已修改的文件,最后会统一提交到Git仓库中。

(3) Git仓库(Git Repository)
最终确定的文件保存到Git仓库成为一个新版本。




3 Git工作流程

Git工作流程有:
(1) 在工作目录中添加、修改、删除文件;
(2) 将需要进行版本管理的文件放入暂存区
(3) 将暂存区的文件提交到Git仓库中;


Git管理的文件三种状态对应Git工作流程:
(1) 已修改(modified)
(2) 已暂存(staged)
(3) 已提交(committed)


下面是一个简单的例子:向Git仓库中添加文件流程。


Git学习笔记(1): Git基本工作流程




4 实验

要求: 向仓库中提交 README.md 文件和 hello_world.cpp 文件。


关于Git安装可以参见链接:


准备工作: 账户初始化
配置账户信息命令格式:
配置账户名:git config --global user.name “GitHub用户名”
配置账户邮箱:git config --global user.eamil “GitHub邮箱”

假设不进行初始化,看看有什么效果。


第一步: 新建test_git文件夹,在文件夹目录下打开Git Bash,然后命令行输入:git init 进行初始化。

Git学习笔记(1): Git基本工作流程


初始化后,test_git文件夹下出现.git隐藏文件,如果没有,则选择:查看——>隐藏的项目,即可找到隐藏的.git文件

Git学习笔记(1): Git基本工作流程


.git文件将用于跟踪Git版本迭代。

Git学习笔记(1): Git基本工作流程


然后通过命令 touch README.md 创建文件,也可以通过鼠标右击新建文件,如下图所示:

Git学习笔记(1): Git基本工作流程


通过命令 git status 可以查询当前文件的状态。如下图所示,当前的文件没有提交,README.md文件未被追踪。

Git学习笔记(1): Git基本工作流程


下面对 README.md 文件增加内容然后再提交。修改文件的命令为: vim README.md

Git学习笔记(1): Git基本工作流程


保存退出后,可以通过命令: cat README.md 查看该文档的内容。


Git学习笔记(1): Git基本工作流程



第二步:README.md 文件提交到暂存区。
提交之前通过命令 git status 查一下当前文件的状态

Git学习笔记(1): Git基本工作流程


提交文件到暂存区命令为:git add README.md
提交之后,通过命令:git status 查询当前文件的状态,如下图所示:

Git学习笔记(1): Git基本工作流程



第三步: 将暂存区的文件添加到Git仓库
提交命令为:git commit -m “提交README.md文件”
如下图所示,可以发现提交未成功,需要配置账户名和邮箱。

Git学习笔记(1): Git基本工作流程



配置账户信息命令如下:
配置账户名:git config --global user.name “luohuayouyi666”
配置账户邮箱:git config --global user.email “[email protected]

可以通过命令: git config --list 查看设置信息


Git学习笔记(1): Git基本工作流程


配置信息后重新提交文件到Git仓库。
提交之后,通过命令:git status 查询当前文件的状态。

Git学习笔记(1): Git基本工作流程


README.md 文件提交到仓库成功后,按照上面同样的步骤:
新建 hello_world.cpp 文件 ——> 写程序、保存 ——> 文件提交到暂存区 ——> 文件提交到Git仓库


Git学习笔记(1): Git基本工作流程


Git学习笔记(1): Git基本工作流程


Git学习笔记(1): Git基本工作流程


以上就是简单熟悉一下Git基本工作流程。



5 小结

Git基本工作流程:新建或修改文件 ——> 文件提交到缓存区 ——> 文件提交到Git仓库

  1. 新建仓库需要初始化,初始化命令为:git init
  2. 提交文件到暂存区命令格式为:git add 文件名
  3. 提交文件到Git仓库格式为:git commit -m “提交文件的描述”

注: 每次提交文件都可以使用命令 git status 来查询当前文件状态。






参考资料

[1] https://www.bilibili.com/video/BV1Xx411m7kn?p=7
[2] https://www.bilibili.com/video/BV1bs411N7ny?p=2