Git工具
Git概述_什么是Git
Git历史
很多人都知道,林纳斯·托瓦兹在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Git是什么
Git是一种代码托管技术。在开发中,Git是一种代码托管技术,很多代码托管平台也是基于Git来实现的。Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。
注意:
我们可以把Git理解成是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。正是因为有了Git的存在,现在很多工作才可以变得相对轻松。
实时学习反馈
1. Git是_____技术。
A 项目管理
B 缓存
C 代码托管
D 控制系统
2. Git是一个开源的_____版本控制系统。
A 分布式
B 集群
C 单机
D 集中式
答案
1=> C 2=>A
Git概述_为什么要使用Git
什么是版本控制系统
你可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本” )时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。
想法:
因为我们怕在原来的基础改错了东西,没法恢复,所以,我们可能会有多个毕业论文的文件。而我们写代码的时候本身就是「多人协作」的,修改是无法避免的,我们不希望有多个文件的产生,又希望能够记录每次更改的内容。“
这个软件用起来就应该像这个样子,能记录每次文件的改动:
版本 | 文件名 | 用户 | 说明 | 日期 |
---|---|---|---|---|
1 | service.doc | 张三 | 删除了软件服务条款5 | 7/12 10:38 |
2 | service.doc | 张三 | 增加了License人数限制 | 7/12 18:09 |
3 | service.doc | 李四 | 财务部门调整了合同金额 | 7/13 9:51 |
4 | service.doc | 张三 | 延长了免费升级周期 | 7/14 15:17 |
注意:
结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
实时学习反馈
1. Git主要解决______问题。
A 兼容性
B 速度
C 安全
D 多人协作
2. Git中版本控制系统可以理解为______。
A 数据库
B 服务
C 系统
D 网络
答案
1=> D 2=>A
Git概述_Git和SVN对比
SVN集中式
集中式版本控制系统需要找一个服务器作为大本营,所有的代码都需要提交到服务器上进行统一的管理。当你需要对代码进行改动时,需要先从服务器上下载一份拷贝,修改完成之后,还需要上传回服务器。
SVN优缺点
优点:
- 管理员也可以轻松掌控每个开发者的权限。
- 代码一致性非常高。
- 适合开发人数不多的项目开发。
缺点:
- 服务器压力太大,数据库容量暴增。
- 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
Git分布式
在分布式版本控制系统中,大家都拥有一个完整的版本库,不需要联网也可以提交修改,所以中心服务器就显得不那么重要了。
注意:
Git记录版本历史只关心文件数据的整体是否发生变化。Git 不保存文件内容前后变化的差异数据。
Git优缺点
优点:
- 适合分布式开发,强调个体。
- 公共服务器压力和数据量都不会太大。
- 速度快、灵活。
- 任意两个开发者之间可以很容易的解决冲突。
- 离线工作。
缺点:
- 学习周期相对而言比较长。
- 不符合常规思维。
- 易学难精,80/20(20%的指令就可以应对80%的任务)
实时学习反馈
1. 下列属于SVN技术优点的是____。
A 服务器压力太大,数据库容量暴增
B 代码一致性非常高
C 必须联网
D 不适合开源开发
2. 下列属于Git技术缺点的是_____。
A 速度快、灵活
B 公共服务器压力和数据量都不会太大
C 学习周期相对而言比较长
D 离线工作
答案
1=> B 2=>C
Git概述_Git工作流程
四个工作区域
Workspace: 工作区,就是你平时存放项目代码的地方
Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
工作流程
Git的工作流程一般是这样的:
-
在工作目录中添加、修改文件;
-
将需要进行版本管理的文件放入暂存区域;
-
将暂存区域的文件提交到git仓库。
实时学习反馈
1. Git技术中版本库主要作用_____。
A 兼容性
B 托管代码的服务器
C 安全存放数据的位置
D 用于临时存放你的改动
2. Git技术中暂存区主要作用_____。
A 放项目代码的地方
B 放入仓库的版本
C 托管代码的服务器
D 用于临时存放你的改动
答案
1=> C 2=>D
Git概述_Git下载与安装
注意:
在Windows操作系统中安装 Git之前,先从官方网站(Git)下载合适的Git版本。
下载window版
http://通过网盘分享的文件:Git-2.34.1-64-bit.exe 链接: https://pan.baidu.com/s/1nIYXuo60rJ01ZQ8RshQWJg?pwd=qr8x 提取码: qr8x 复制这段内容后打开百度网盘手机App,操作更方便哦
下载64位软件包
安装Git
除了安装的目录可以修改(不要有中文就行)其他全部默认就行
Git基础_环境配置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
设置用户信息
git config --global user.name "baizhan"git config --global user.email "baizhan@163.com"
查看配置信息
检查当前的设置
git config --listgit config user.name
注意:
通过上面的命令设置的信息会保存在~/.gitconfig文件中。(~/ 就是用户的根目录)
实时学习反馈
1. Git如何设置用户信息命令__。
A git config user.name
B git config --global user.name
C git config name
D git config -global user.name
2. Git中默认设置用户的信息会保存在_____文件中。
A ~/.gitconfig
B config
C .gitconfig
D ~/.config
答案
1=> B 2=>A
Git基础_本地初始化仓库
如果是全新的开始
如果这是你第一次使用Git,那么就先从创建一个全新的目录开始吧。打开终端机窗口,并试着操作以下命令(命令后面的#是说明,不需要输入):
mkdir tmp #创建tmp目录 其实就可以右击创建一个新的文件夹就行,然后在这个文件夹里打开git控制台git init #初始化这个目录让Git对这个目录开始进行版本控制。
小提示:
git init
命令会在上述目录中创建一个名为.git
的隐藏目录,并在其中创建一个版本库。该目录为文件,查看->显示隐藏目录。整个Git的精华都集中在这个目录中了,现在不先讲细节,只是体会一下使用Git的感觉,后续在详细介绍。
实时学习反馈
1. Git中如何初始化目录并把文件交给Git管理______。
A git init
B git create
C git add
D git commit
答案
1=> A
Git基础_文件的两种状态
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
注意:
Git不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方法就是用SHA-1算法计算文件的校验和。
untracked未跟踪
未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
tracked已跟踪
被纳入版本控制
-
Unmodified
文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified,如果使用git rm移出版本库, 则成为Untracked文件。
-
Modified
文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回