Git的介绍及初始化仓库配置一
1.Git是什么?
1.1官方解释
GIT,全称是分布式版本控制系统,git通常在编程中会用到,并且git支持分布式部署,可以有效、高速的处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
1.2通俗说法
如果我们在本地编写某一个文档时,到后期有些地方需要改动.我们可能会直接在当前文档中改动,也可能备份一份,改完之后删掉那份没用的.可是如果到最后觉得还是原来的文件或者版本好的时候,就不知道该怎么办了.
我们在这个时候使用git工具,就很方便了.我们可以在本地建一个版本库,每当我们需要修改时,就可以把之前的版本提交并标明此版的特点.这样文件夹里就只有一个编程文档了,当你需要哪个版本时,只要在版本库中恢复一下就可以了.
说道版本库,版本库又是什么呢? 版本库又名仓库(repository),可以简单理解成一个目录(存放好多版本的目录),目录里所有文件都被Git管理起来,每个文件的修改删除,Git都会跟踪.以便任何时候都可以追踪历史或者在将来某一时刻可以还原修改.
2.svn和git之间的不同点
2.1svn是什么?
svn,是集中化的版本控制系统,有一个单一的集中管理额服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器.
好处是可以在一定程度上看到项目中的其他人正在做什么,管理员也可以轻松掌握每个开发者的权限,管理一个集中化的版本控制系统.
坏处是中央服务器的单点故障
2.2svn和git的优缺点
集中式(svn):
svn因为每次存放的都是差异,需要的硬盘空间会相对的小一点,可是回滚的速度会很慢
优点:
- 代码存放在单一的服务器上,便于项目的管理
缺点:
- 服务器宕机: 员工写的代码得不到保障
- 服务器炸了: 整个项目的历史记录都会丢失
分布式(git)
git每次存放的都是项目的完整快照,需要的硬盘空间会相对大一点,(Git团队对代码做了极致的压缩,最终需要的实际空间比svn大不了太多,可是Git的回滚速度极快)
优点: 完全的分布式
缺点: 用法上比svn难一些
2.3什么是回滚?
回滚泛指程序更新失败, 返回上一次正确状态的行为
3.下载
官方网站:https://git-scm.com/
进入网站后,会有一个最新源发布版本,下载即可. 下载完成,用管理员身份打开,一直点击 next 下一步就可以了.使用时点击鼠标右键,点击 Git Bash Here就好了
4.git目录每个文件的作用
hooks 目录包含客户端或服务器的钩子脚本
info 包含一个全局性排除文件
logs 保存日志信息
objects 目录存储所有数据内容
refs 目录存储指向数据(分支)的提交对象的指针
config 文件包含项目特有的配置选项
description 用来显示对仓库的描述信息
HEAD 文件指示目前被检出的分支
index 文件保存暂存区信息
5.git怎样工作的?
- 克隆Git 资源作为工作目录
- 在克隆的资源上添加或者修改文件
- 如果其他人修改了,你可以更新资源
- 在提交前查看修改
- 提交修改
- 在修改完成后,如果发现国务,可以撤回提交并再次修改并提交
5.1状态
已修改(modified): 文件已修改(会显示红色), 仅仅是修改, 并没有进行其他的操作. 通过git add可进入暂存staged状态,.使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
已暂存(staged):暂存状态(空). 执行git commit则将修改同步到库中
已提交(committed): 文件已经提交到git库(回显示绿色),成功提交
未追踪(Untracked):未跟踪(会显示红色),会显示 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged
5.2区域
工作区:就是你能在电脑里面看到的目录
暂停区:英文名字stage/index,一般存放在 “git” 目录下的index文件中,所以我们有时候也会把暂存区称为索引
版本库(Git 仓库):工作区有一个隐藏目录 .git,这个不算工作区,而是Git的版本库
6.Git版本库创建注意点
-
我们自定义一个文件夹,定义一个名称,在这个文件夹里面鼠标右键,点击 Git bash Here,打开一个git窗口
-
git和cmd用法很像,不同点的是 cmd 可以复制粘贴,而cmd不能够粘贴,但是选中某些字段会自动复制
-
我们想要进入某个文件的路径,既然不能粘贴路径,我们可以在 git打开的窗口中 输入 cd,可以将这个文件给拉进来,我们就可以看到这个文件的路径被复制在git窗口上,我们直接回车就进入了该路径
-
我们创建 git仓库, 使用 git init 命令.直接点击回车,这时我们来到文件夹中,我们会看到并没有什么git文件.不要着急,这时因为git是隐藏文件,我们在这个文件夹中找到查看,点击一下,就会出现一个隐藏的项目,我们勾选上.我们这时就会看到这个 git文件出现在文件夹中.
-
检查版本号, 使用 git --version,会显示当前版本号
7.git config环境变量
Git 提供了一个叫 git config 的命令来配置或读取相应的工作环境变量,而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为.这些变量可以存放在一下三个不同的地方:
- /etc/gitconfig文件: 系统中对所有用户都普遍适用的配置,若使用 gitconfig 时用 --system
选项,读写的就是这个文件 - ~/.gitconfig文件: 用户目录下的配置文件只适用于该用户.若使用 gitconfig 时用 --global
选项,读写的就是这个文件 - .git/config文件: 当前项目的Git目录中的配置文件(也就是工作目录中的
.git/config文件)这里的配置仅仅针对当前没项目有效
8.初始化仓库配置
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
- 配置名字 git config --global user.name XXX
- 配置邮箱 git config --global user.email XXX.com
- 查看已有的配置信息 git config --list
9.总结心得
通过今天学习git仓库,也认知到了 git 是一个分布式版本控制系统,以及它和svn之间的区别,优点和缺点.
要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行 git init,初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中.深入了解了git的工作流程