版本控制系统的使用-------安装、本地仓库、远程仓库、分支

版本控制工具

为什么要学习版本控制工具?

1.1遇到一个问题:当我们实现一个功能时,有多重实现的方法,有可能一些暂时不需要使用的代码会出现注释,但是这些注释会增加文件的大小,这不利于用户访问速度.
1.2开发项目中,一般是多人开发,如何解决代码共享问题?
如果只是把文件打包发送,会很低效.
在这里插入图片描述

常见版本控制工具

Git:目前世界上最先进的分布式版本控制系统.
svn:比较旧的版本控制工具

安装与配置

1.1安装
git官网安装:https://git-scm.com/download/win
1.2配置邮箱与姓名
首次使用者需要提供提交者信息,往后开发可以用来区分不同修改者

git config  --global user.name "自己的用记名"
git config  --global user.email "自己的正确的邮箱"

# 查看配置信息
git config --list

本地仓库(工作区)\暂存区\提交历史

1.1仓库初始化

新建文件夹做仓库
方法1:
把文件夹用vscode打开,点击源代码管理,初始化储存库:下面执行的任何操作,都需要基于一个仓库.
在这里插入图片描述
方法2:使用命令行
文件夹右键打开控制窗,输入git init

git init

在这里插入图片描述
表示初始化一个Git仓库,当初始化成功,会在项目的根目录创建一个.git文件夹,文件夹是隐藏的,取消隐藏就可以看见,用于管理版本信息.
如果要删除仓库,只需要把文件夹下的.git文件删除即可

2.将工作区的代码提交到暂存区
先在文件夹内创建一个文件,调取控制台输入.
添加单个文件:git add 文件名字 ;
把工作区所有文件都添加到暂存区:git add .;
暂存区没有实体文件;
在这里插入图片描述
3.把暂存区代码提交到版本库
完整语句:git commit --message "第一次提交";
简写语句:git commit -m "第一次提交";
必填属性-m表示提交的记录信息,""双引号里面用来记录文件信息,不要乱写,要有语义化.
在这里插入图片描述

4.查看提交历史命令
语句:git log
commit:表示提交的hash值,用来标记提交的唯一性
Author: 提交人信息
Date:提交时间
在这里插入图片描述
5.查看文件状态
语句:git status
他是用于查看工作区和暂存区文件的状态.
提交后:
在这里插入图片描述
当还有跟踪状态时:
在这里插入图片描述
6.更便捷的提交历史方式,绕过暂存区
直接从工作区提交到历史
语句:git commit -a -m"提交的信息"
在这里插入图片描述

注意:如果是新创建的文件,默认状态是untrack状态,表示文件没有被追踪,这个是快速命令提交.如果需要把新文件提交,首先要使用git add命令添加到暂存区

7.查看当前文件修改和上一个版本的区别
语句:git diff;
主要看修改后又没提交历史的差别
在这里插入图片描述
8.回滚提交历史(慎用,无法找回!!!)
语法:git reset --hard 提交的哈希值;
注意空格
–hard表示直接修改工作区的代码,这个参数还有其他值,这里不做展开;
直接绕过暂存区回滚;
在这里插入图片描述

远程仓库

寄存的历史信息储存在本地,为了开发的方便,一般会推送在远程仓库.
远程仓库类别:
1.全球最大的代码共享平台github
弊端:访问慢
优势:资源非常丰富,有全球最精华的代码
2.国内代码托管平台 码云gitee
弊端:项目比较少
优势:访问快
3.公司自建代码托管(gitlab)
弊端:在外面无法访问
优势:安全

使用
场景一:远程仓库不为空,通过克隆远程仓库到本地

1.把远程仓库克隆到本地
语法:git clone 远程仓库地址
创建一个文件夹,控制台输入
在这里插入图片描述
2.更新本地仓库
语法:git pull
与克隆不同是,克隆是把整个仓库搬下来,pull只是更新.
3.把本地代码推到远程仓库
语法:git push

在这里插入图片描述

场景二:本地仓库关联一个空的远程仓库

把本地仓库发布到远程仓库

1.创建一个远程仓库

2.创建本地仓库,并初始化

3.产生一次提交

4.本地仓库关联远程仓库
语法:git remote add origin 远程仓库地址;

5.把本地代码推到远程仓库,因为远程仓库是空的,需要创建分支
语法:git push -u origin master;

6.查看当前仓库的远程仓库地址
语法:git remote -v;

情景三:如果同时修改同一个文件,会出现冲突问题,
冲突问题解决办法:需要手动解决,选择需要保留的代码

分支管理

什么是分支?
相当于独立仓库,每个分支之间工作互不影响.

分支解决什么问题?
开发一个版本可能有不同的功能,例如:注册/登录/购物车/抢购活动,到了十一上限截止时间,抢购的功能还没开发完毕.这时候可以放弃抢购活动的分支代码,直接上线注册/登录/购物车.
解决多个功能场景下的问题.

分支怎么用?

1.查看分支
语法:git branch;
一般仓库有默认主分支master
不要在master分支提交代码!!!
一般在develop开发分支,或fe/login
在这里插入图片描述

2.创建分支
创建分支,顺便切换到分支名字
语法一:git checkout -b "名字"
语法二:git branch"分支名字"
两个都可以用
在这里插入图片描述

3.切换分支
语法:git checkout "分支名字"

4.删除分支
语法:git branch -D"分支名字"
注意大写!
在这里插入图片描述

5.合并分支
要先切换到master
语法:git merge 目标分支;

汇总

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47886687/article/details/108808184
今日推荐