注:转载请标明原文出处链接: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工作区域图下图所示:
(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仓库中添加文件流程。
4 实验
要求: 向仓库中提交 README.md
文件和 hello_world.cpp
文件。
Git官网下载:https://git-scm.com/downloads
关于Git安装比较简单,可以参见链接:Win10系统下Git安装
准备工作: 账户初始化
配置账户信息命令格式:
配置账户名:git config --global user.name “GitHub用户名”
配置账户邮箱:git config --global user.email “GitHub邮箱”
假设不进行初始化,看看有什么效果。
第一步: 新建test_git文件夹,在文件夹目录下打开Git Bash,然后命令行输入:git init
进行初始化。
初始化后,test_git文件夹下出现.git隐藏文件,如果没有,则选择:查看——>隐藏的项目,即可找到隐藏的.git文件
.git文件将用于跟踪Git版本迭代。
然后通过命令 touch README.md
创建文件,也可以通过鼠标右击新建文件,如下图所示:
通过命令 git status
可以查询当前文件的状态。如下图所示,当前的文件没有提交,README.md
文件未被追踪。
下面对 README.md
文件增加内容然后再提交。修改文件的命令为: vim README.md
保存退出后,可以通过命令: cat README.md
查看该文档的内容。
第二步: 将 README.md
文件提交到暂存区。
提交之前通过命令 git status
查一下当前文件的状态
提交文件到暂存区命令为:git add README.md
提交之后,通过命令:git status
查询当前文件的状态,如下图所示:
第三步: 将暂存区的文件添加到Git仓库
提交命令为:git commit -m “提交README.md文件”
如下图所示,可以发现提交未成功,需要配置账户名和邮箱。
配置账户信息命令如下:
配置账户名:git config --global user.name “luohuayouyi666”
配置账户邮箱:git config --global user.email “2059596283@qq.com”
可以通过命令: git config --list
查看设置信息
配置信息后重新提交文件到Git仓库。
提交之后,通过命令:git status
查询当前文件的状态。
README.md
文件提交到仓库成功后,按照上面同样的步骤:
新建 hello_world.cpp 文件 ——> 写程序、保存 ——> 文件提交到暂存区 ——> 文件提交到Git仓库
以上就是简单熟悉一下Git基本工作流程。
5 小结
Git基本工作流程:新建或修改文件 ——> 文件提交到缓存区 ——> 文件提交到Git仓库
- 新建仓库需要初始化,初始化命令为:
git init
- 提交文件到暂存区命令格式为:
git add 文件名
- 提交文件到Git仓库格式为:
git commit -m “提交文件的描述”
注: 每次提交文件都可以使用命令 git status
来查询当前文件状态。
参考资料
[1] https://www.bilibili.com/video/BV1Xx411m7kn?p=7
[2] https://www.bilibili.com/video/BV1bs411N7ny?p=2