目录
一、分布式版本控制系统Git概述
1.1 分布式版本控制系统Git介绍
-
版本控制定义
-
记录和跟踪项目中各文件内容的改动变化
-
保存项目的版本历史,以及改动原因,从而让用户能够查看各个历史版本
-
版本控制系统也是帮助人员进行协作开发的利器
-
-
为什么需要版本控制工具
-
在公司的日常项目开发中,绝不是单打独斗而是团队协作
-
随着项目开发积累,越来越多的项目需要归档整理
-
1.2 深入理解两种版本控制工具
-
集中式版本控制工具
-
SVN
-
定义
版本库是集中放在中央服务器的,而开发的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后更改,完成后,需要把自己做的更改推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,网速慢的话,传输非常慢
-
缺点
-
服务器单点故障时无法更新版本
-
容错性差(中央服务器磁盘损坏时全部数据将丢失,只剩各个电脑上的单独快照也就是更改记录)
-
-
-
-
分布式版本控制工具
-
git
-
定义
没有中央服务器,每个人的电脑就是一个完整的版本库,这样开发的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送到代码托管中心gitee(国内)、github、gitlab,就可以互相看到对方的修改了
-
优点
-
断网情况下,也可以进行版本控制(本地仓库)
-
每个客户端保存的都是完整的项目(包含历史记录,更加安全)
-
-
-
1.3 Git工作机制和代码托管中心
-
git 工作机制
-
代码托管中心
-
定义
代码托管中心是网络服务器的远程代码仓库,也称为远程仓库
-
GitHub(外网访问)
-
GitLab(局域网访问)
-
Gitee(国内远程仓库) 码云
-
二、常用命令使用
2.1 git 初始化设置
-
设置用户签名(初始化时设置)
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"
-
查看
git config user.name git config user.email
-
注意
-
在每一个版本的提交信息上显示,本次提交的作者是谁
-
首次安装必须设置,否则无法提交代码
-
跟之后设置gitee账号没关系
-
-
初始化本地仓库
-
创建一个文件夹
-
在终端中进入这个文件夹
git init
-
查看本地仓库状态
git status
-
-
查看修改的作者
-
安装插件GitLens
-
在settings.json添加设置
"git.path": "C:/Program Files/Git/mingw64/bin/git.exe", "editor.renameOnType": true,
-
重启vscode
-
2.2 添加暂存区
-
添加暂存区
git add .
-
从暂存区中删除文件(在工作区还是保存着这个文件)
git rm --cached xxx
2.3 提交本地仓库
简介:将新增的代码提交本地仓库
-
提交本地仓库
git commit -m "本次修改的信息"
-
查看版本提交历史信息
git reflog a11e09c (HEAD -> master) HEAD@{0}: commit (initial): 1
查看详细的日志信息
git log
2.4 版本历史回滚
简介:版本历史回滚
-
查看历史版本信息,获取版本号
git reflog
-
选择要回滚的版本号
git reset --hard xxxxxxx
三、Git分支的操作
3.1 Git分支简介
Git分支是由指针管理起来的,所以创建、切换、合并、删除分支都非常快,非常适合大型项目的开发。
在分支上做开发,调试好了后再合并到主分支。那么每个人开发模块式都不会影响到别人。
-
分支使用策略:
-
主分支(默认创建的Master分支)只用来分布重大版本(对于每个版本可以创建不同的标签,以便于查找);
-
日常开发应该在另一条分支上完成,可以取名为Develop;
-
临时性分支,用完后最好删除,以免分支混乱。如:
-
功能(feature)分支
-
预发布(release)分支
-
修补bug(bug)分支
-
-
多人开发时,每个人还可以分出一个自己专属的分支,当阶段性工作完成后应该合并到上级分支。
-
3.2 分支的基本操作
简介:详解分支的基本操作
-
创建分支
git branch 分支名 注意:此时新分支是复制当前所在的分支
-
查看分支
git branch
-
切换分支
git checkout 目标分支 注意:切换分支前需将当前分支的修改提交仓库
-
删除分支
git branch -d 分支名
强制删除
git branch -D 分支名
3.3 掌握分支的团队协作-合并
简介:掌握分支的团队协作—合并
-
合并分支
git merge 源分支
-
合并冲突
-
当两个分支修改同一文件代码时合并会发生冲突
-
选择要保存下来的修改重新提交
-
四、代码托管平台(Gitee)
4.1 代码托管中心作用和创建远程仓库
-
代码托管平台的作用
-
创建gitee(码云)远程仓库
-
注册账号
-
创建远程仓库
-
4.2 本地连接远程仓库
连接远程仓库有两种方式(情况):
-
本地已有仓库,需要覆盖远程仓库的内容
-
本地没有仓库,直接拉取远程仓库的
-
本地已有仓库,连接远程仓库
-
确保当前分支代码已经干净
git remote add origin https://gitee.com/xiaolin102105/vscode-test01.git
-
验证账户密码(gitee账号密码)
-
将本地仓库push远程仓库
拉取远程的master分支到本地仓库 git pull origin master --allow-unrelated-histories git push -u origin master
-
本地覆盖线上仓库
git push -f origin master
-
-
无本地仓库直接拉取
-
https方式
-
没有验证账号密码时,需要验证
git clone https://gitee.com/wen_zhao/xdclass.git
-
-
4.3 连接远程仓库后的操作
简介:连接远程仓库后的操作
-
拉取代码
git pull
-
推送新分支/代码
git push
-
指定远程分支复制新分支并切换
# -b 创建一个新的分支,新的分支名:daily/0.0.3。 # 新的分支的内容从远程仓库分支获取。远程已存在的分支:daily/0.0.2 git checkout -b daily/0.0.3 origin/daily/0.0.2
1.在本地创建一个空文件夹
2.有两个选择:
1.初始化本地仓库
a.把本地仓库和远程仓库做一个连接
b.在连接前,本地仓库和远程仓库很可能不一致。那么就通过一拉一堆
2.克隆本地仓库(需要远程仓库地址,也需要用户和密码)
add commit push pull