1.Git介绍
1.1 版本控制
无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况
-
开发中要解决的问题
- 代码备份
- 版本控制
- 协同工作
- 责任追溯
1.2 SVN版本控制
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,
所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
-
服务器单点故障
将会导致所有人员无法工作
-
而服务器硬盘损坏
这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的。
1.3 Git版本控制
Git是在2005年,Linux系统的创建者Linus Torvalds,为了帮助全球的开发者,维护Linux系统内核的开发
而开发了自己的开源分布式版本控制工具,分为两种类型的仓库:本地仓库和远程仓库。
-
每一个客户端都保存了完整的历史记录
服务器的故障,都可以通过客户端的记录得以恢复。
2. Git操作
-
git常用命令
命令 作用 git init 初始化,创建 git 仓库 git status 查看 git 状态 (文件是否进行了添加、提交操作) git add 文件名 添加,将指定文件添加到暂存区 git commit -m ‘提交信息’ 提交,将暂存区文件提交到历史仓库 git log 查看日志( git 提交的历史日志) -
操作步骤
- 创建工作目录、初始化本地 git 仓库
-
新建一个 test.txt 文件
-
使用 status 命令,查看状态
-
使用 add 命令添加,并查看状态
-
使用 commit 命令,提交到本地历史仓库
-
使用 log 命令,查看日志
- 修改 test.txt 文件
- 添加并提交,查看日志
3.Git版本管理
3.1历史版本切换
-
准备动作
- 查看 my_project 的 log 日志
git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作) - 增加一次新的修改记录
- 查看 my_project 的 log 日志
-
需求: 将代码切换到第二次修改的版本
指令:git reset --hard 版本唯一索引值
3.2分支管理介绍
-
分支
- 由每次提交的代码,串成的一条时间线
- 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线
-
分支的使用场景
- 周期较长的模块开发
假设你准备开发一个新功能,但是需要一个月才能完成
第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug
那现在就需要放下手中的新功能,去修复Bug
但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。 - 尝试性的模块开发
业务人员给我们提出了一个需求,经过我们的思考和分析
该需求应该可以使用技术手段进行实现。
但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发。
- 周期较长的模块开发
-
分支工作流程
-
Master: 指向提交的代码版本
-
Header: 指向当前所使用的的分支
-
3.3分支管理操作
-
创建和切换
创建命令:git branch 分支名
切换命令:git checkout 分支名 -
新分支添加文件
查看文件命令:ls
总结:不同分支之间的关系是平行的关系,不会相互影响
-
合并分支
合并命令:git merge 分支名
-
删除分支
删除命令:git branch -d 分支名
-
查看分支列表
查看命令:git branch
4.远程仓库
-
GitHub
域名:https://github.com
介绍:GitHub是全球最大的开源项目托管平台,俗称大型程序员社区化交友网站 各类好玩有趣的开源项目,只有想不到,没有找不到。
-
码云
域名:https://gitee.com
介绍:码云是全国最大的开源项目托管平台,良心平台,速度快,提供免费私有库