Git学习
主要课程目标
- git的诞生
- git的概念
- git的创建远程仓库的两种方式
- git的安装配置
- git的远程仓库创建流程
- 将代码推送到代码托管平台的步骤
- git的工作流程
- Git 与 SVN 区别
- git的多人合作方式
- 我们为什么要学习版本控制工具
11. 重点掌握安装Git和Git创建仓库、命令行
git的诞生
Git是由Linux之父Linus开发的,在2005年4月3号开始开发,到 4.7 仅四天时间Git就可以投入使用了。到同年6月份,Linux已经在使用Git管理代码了。 Linux是主张开源免费的和反对集中式的版本管理工具,所以他不使用CVS,最早他采用的是手工合并代码的方式。
git的概念
-
Gits是一种版本控制工具
-
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
-
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
-
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
git的安装配置
- 打开Git官网下载安装程序,然后按照默认选项安装即可(选择适合自己电脑版本的)。
- 安装完成后,在桌面右击,点击gitBashHere弹出一个类似cmd的命令行窗口,可以在里面输入git --version 查看版本,证明安装成功。
如:

git的创建远程仓库的两种方式
方法一:
- 创建github(代码托管平台),可以采用这个网址github
- 创建远程仓库, 点击右上角的+号===>new repository===>写入仓库的名称 ===>仓库的描述===>勾选创建READER.md===>点击按钮创建
方法二:
- 创建一个项目文件夹
- 使用git init命令创建一个仓库,右击鼠标点击git bash here,打开命令框输入git init
git的远程仓库创建流程
步骤:
- 第一步注册代码托管平台(可以使用码云网站)。
- 创建仓库,在右上角有一个+号,列表里面有一个new repository选项,仓库名称(一般是项目名称)。
- 项目描述要写。
- 点击create repository,创建仓库完成。
将代码推送到代码托管平台的步骤
- 在创建好的远程仓库中,点击Clone or download复制我的仓库的地址
- 回到我的桌面,鼠标右击点击git Bash Here 打开命令框,在命令框中输入git clone 我复制的远程仓库中的地址,(复制到了我的本地)
- 可以把想要的代码和资源放到桌面生成的本地文件中
- 提交到暂存区,使用git add . 或git add 文件名
- 提交到本地仓库, 使用git commit -m '项目描述'
注意:设置签名信息,每个使用者初次注册的都会操作的两步
git config --global user.email "email@example.com"
顾名思义,这是设置你的名字和Email地址。
5. 在设置好了签名信息之后,再重新提交到本地仓库
6. 推送到远程仓库中,使用git push
git命令的总结
- git add . 表示的是把文件全部提交到暂存区
- git add 文件名 表示的是提交单个文件
- git commit -m "项目描述" 表示的是把文件从暂存区提交到本地仓库
- git push表示的是把本地仓库中的文件推送到远程仓库
Git 与 SVN 区别
- svn属于集中式版本管理控制系统
- git属于分布式版本管理控制系统
- git只关心文件的整体是否发生变化,git并不会记录前后的变化
- svn只关心文件内容的具体差异,都会记录每次内容有哪些更新和变化
SVN的缺点
- 不安全,可以轻松掌握每个人的开发权限
- 不方便,必须连接在服务器上
- 不灵活,服务器单点故障
Git的优点:
- 分布式,强调个体
- 公共服务器压力和数据量都不会太大
- 离线工作,每个人的本地仓库,大部分操作在本地库完成,不需要联网(SVN做不到)
- 分支操作非常快捷流畅(重点介绍)
- 可以吃后悔药, 尽可能添加数据而不是删除或修改数据(删除或修改不容易恢复,而每次添加一个版本,历史版本都有)
- 速度快、灵活, 有能力高效管理类似 Linux
- 内核一样的超大规模项目(速度和数据量)
git多人合作的方式
- 局域网:只能内部人员可访问,GitLab
- 外网环境:GitHub,码云
git的工作区域
主要分为三种区域: 工作区,暂存区,本地区
- 工作区:表示新增或修改了某个文件,但还没有提交保存;
- 暂存区:表示把已新增或修改的文件,放在下次提交时要保存的清单中
- 本地仓库:文件已经被安全地保存在本地仓库中了。
如图:

git中的本地仓库和远程仓库的理解

为什么学习版本控制工具
- 备份多个版本,浪费存储空间,花费时间长。
- 难以恢复至以前的历史版本,容易引发BUG,解决代码冲突困难。
- 难于追溯问题代码的修改人和修改时间、修改内容、日志信息。
- 项目升级,版本发布困难。
- 无法进行权限控制。 比如 测试人员:只读;开发人员:模块权限。
- 开发团队在工作过程中无法多条生产线同时推进任务,效率慢。