1 版本控制工具是什么?
是软件,用来保存软件开发过程中各个版本
2 为什么要使用版本控制工具?
2.1有利于打造自己的核心竞争力,积累经验,保存项目
2.2 为我们提供以往版本记录,一边我们恢复操作
2.3 分清责任不背锅
2.4 科学合理的规划工作
2.5进行项目精度和进度的一个把控
3 流版本控制工具:svn & git
3.1 svn优缺点:
优点:1 管理方便
2 集中式的管理
3 代码一致性
4 适合项目管理
缺点:1 服务器压力大
2 集中式管理,一旦服务器出现问题,就无法使用
3 不太适合开源开发
3.2 git的优缺点:
优点:1 非常适合分布式开发
2 灵活快速开发
3 离线工作
4 非常容易解决冲突
缺点:1 学习周期长
2 不太符合常规思维
3 代码保密性差
3.3 如何选择用哪个软件呢?
答:看应用场景,综合比较
1 对权限要求比较高,集中式管理你就用SVN
2 代码协作要求比较高,你就用git
4 git的误区
4.1 github和git不是同一个东西。
4.2 git 是一个版本控制工具。Git相当于一本书。
4.3 github是项目托管网站。Github相当于一个书店。GitLab相当于程序员的微博,展示和分享功能,对私密性要求不高。
4.4 GitLab也是项目托管网站,具有私密库。在Devops 企业用的比较多。
5 git开发环境的搭建与配置
5.1 下载node http://nodejs.org/en/
版本:lts
安装:1 不要修改默认配置
2 一路next
5.2 下载git http://git-scm.com/
版本:mac or windows
安装:1 不要修改默认配置
2 一路next
5.3 如何证明安装成功
在任意目录下,右键出现git bash here
在bash里面
1 输入 node -v 出现版本号,则node安装成功
2 输入 git --version 出现版本号,git安装成功
bash命令行里可以用Linux各种命令。其中,clear表示清屏
6 git几个重要的概念
6.1 仓库:所有版本的代码都在仓库里。(仓库相当于书店,例如所有版本的《红楼梦》书都在书店里)
6.2 分支:不同功能的代码存放的地方,防止互相干扰。(分支相当于书架,例如把插图版和古装版放不同的书架下)
6.3 提交:每一个版本的代码(提交相当于书,例如:《红楼梦》插图版第一次印刷,第二次印刷)
6.4 三区:
工作区:工作的目录(存放项目的目录)
暂存区:项目目录和仓库之间的暂时存储区域
仓库:仓库放着所有的版本
远程仓库:github服务器上的仓库
如下图所示:
解释:最开始代码在workspace(工作区)中—>add–>index(暂存区)–>commit–>Repository(仓库)–>push–>Remote(远程库)
也可以代码现在Remote中–>pull–>工作区
7 git的基础操作
7.1 新建一个文件夹helloGit
7.2 打开helloGit文件夹–> 右键git bash命令行里
输入git init–>初始化一个仓库
7.3 在hellowGit下面创建一个文件helloworld.html 里面随便写几句代码
7.4 再git bash命令行里面输入 git status–>查看库的状态
7.5 用 git add 把新建的文件加入到暂存区里面去。(相当于把文件交给了管理员)
第一种用法:git add helloworld.html
第二种用法:git add . 把当前目录所有文件加入到缓存区(暂存区)
7.6 将暂存区文件 提交到 仓库(管理员把你的文件扔到仓库了)
git commit -m ‘这里写点注释,省的最后连你自己都不知道自己干了什么’
7.7 修改文件内容,重复7.5,7.6操作
7.8 查看我们提交了几个版本
git log 查看版本
7.9 我们想回到第一次提交的代码状态?
git checkout id(其中id表示7.8操作之后,commit:后面的一串字符)
直接回到上一个版本: git checkout – .
8 git进阶–分支
8.1 复制一份原来的东西,开一个新分支
git checkout -b new-fenzhi(此处创建新分支的名字叫做new-fenzhi)
8.2 看一下有几个分支
操作:git branch
8.3 在hellowGit下面创建一个文件newfenzhi.html 里面随便写几句代码
8.4 在文件目录下,进行add和commit操作,会提交到new-fenzhi上面去,此时会发现helloGit文件夹下面有两个文件
helloworld.html和newfenzhi.html
8.5 切换回master
操作:git checkout master—>此时会发现helloGit文件夹下面只有一个文件夹helloworld.html
8.6 怎么将分支合并到主分支中
本题操作:gtit merge new-fenzhi -m’合并新分支’---->此时会发现master主分支下面有了newfenzhi.html
9 项目的托管与协作
9.1 github网站 免费的,公开的,相当于程序员的微博,用来分享开源的项目
github官网 https://github.com/
github怎么用?
1 创建账号
2 创建一个库,new repository
3 clone项目,git clone之后直接为git库,不用像本地一样git init
4 进行开发–>提交代码
5 首次提交,git remote add origin
9.2 gitLab网站 免费的,私密库,操作简单
注释:以上内容听网上课程整理所得