这年头,不会点git可能让你寸步难行。本文主要分享自己对于git的理解以及使用git进行版本控制所必须要掌握的命令。
01概念相关
Git概念
Git是目前业界最流行的**分布式版本控制系统**(VersionControlSystem),本质上来说Git是个软件
分布式
客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来,包括完整的历史记录。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复
版本控制
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
02Git概念的理解
这里用大学生写论文这个事做比对,加深理解
1.你准备写论文,先立题,然后开始收集资料,最后开始动笔。这个过程就可以看作使用git软件在本地创建仓库(或者是从github/gitlab上拉代码下来),准备完成项目的初始版本
2.论文初稿写好了,要仔细检查一遍,然后提交给老师。这个过程可以理解为使用git将写好的项目发送到github/gitlab,准备接下来的测试,需求对接,以及找bug
3.然后在接下来的2个月内,老师来来回回的给你提出了10多个甚至更多的问题,你就来来回回的改。这个过程就可以理解为每当你发现了代码有问题,就使用git用你的修改后的代码更新github/gitlab上的代码,每次更新负责检查你的代码的人都看得到,并且还会提过新的问题
4.老师说OK了,可以提交论文,算你过了。这个过程就可以理解为你的本地代码经过了无数的更改后,终于稳定了,可以拿给客户用了,更新最终版本到github/gitlab上,部署上线···
03GitHub
GitHub本质上是一个代码托管平台,它提供的是基于Git的代码托管服务。
对于一个团队来说,即使不使用GitHub,他们也可以通过自己搭建和管理Git服务器来进行代码库的管理
04Git三大区域
工作区
-就是你写代码的地方,代码在哪个文件夹下
暂存区
-暂存区是用来存放你使用git软件跟踪文件具体变化的区域。要注意的是,工作区的代码在没有使用git软件管理前,和版本库没有任何关系
版本库
-是指代码托管平台,存储你上传的每次更改结果,当然也可以拉取远程代码到本地
05分支
分支可以理解为项目代码的一个版本,一般每个代码库都有master分支,master分支一般包含了上线版本的完整代码,举个例子
在开发测试阶段,假设发现master分支代码有bug,需要立即修复bug,此时就要考虑基于master代码(而不是重新创建个新项目,复制一遍再改)做出代码更改。
bug的修复可能涉及一行,两行,多行,也有可能是添加新的文件,更新版本文件等等,那么此时就要基于master上创建新的分支(粗俗的理解为复制master代码一份,(但是真实情况,是用指针指向实现的,不是复制),指针同时指向新创建的分支以及master,此时还没有做任何更改),然后在新分支内修复bug,测试后没有问题,就可以推送新分支到代码托管平台,此时远端就可以看得到新的一个分支的产生,再决定是否需要合并到master分支上线
06Git准备
安装Git
Ubuntu上安装sudoaptinstallgit-allmac会提示你进行安装git--version
设置Git的user信息
三个不同的作用域,默认为local
07显示git配置
某个仓库的局部配置
gitconfig--list--local全剧配置
gitconfig--list--global系统配置(针对用户的)
gitconfig--list--system
08配置优先级
localglobal
-如果全局配置已经配置好,那么在当前仓库下可以重新设置本地的user.name和user.email,那么之后的提交(
转载请注明:http://www.0431gb208.com/sjszjzl/1229.html