版本控制的相关概念
版本控制简介:
版本控制就是记录开发过程中文件内容的历史变化,以便来查阅特定版本的修订情况。
版本控制可以实现以下操作:
代码复查
版本回退
协作开发:多人协作开发时,对项目的修改进行版本维护,避免冲突覆盖。
版本控制系统:
1.本地版本控制系统:在单机上创建版本记录,比较原始,只能管理本地文件版本,对于协作开发需求无能为力。
2.集中式版本控制系统:为了让不同的开发者能够协同工作,集中化的版本控制系统应运而生。
集中化的版本控制系统最显而易见的缺点是中央服务器的单点故障问题。
3.分布式版本控制系统:针对集中式版本控制系统的缺陷,产生了分布式版本控制系统。在分布式版本控制系统中,客户端不再是仅仅提取最新版本的文件快照,而是把代码仓库完整的镜像到本地机上保存,称为本地仓库。
Git核心理论
Git是目前主流的分布式版本控制系统。
Git 本地有三个工作区域:工作目录,暂存区,资源库,如果再加上远程的git仓库,就可以分为四个工作区域,其中暂存区其实就是.git文件夹中的index二进制文件。
文件在这四个区域之间的转换关系如下:
比如说文件默认的工作目录就是本地目录,通过git add files命令将文件传到暂存区,接着通过git commit 命令将文件上传到本地仓库,通过git push命令将文件上传到远程仓库。
反之:如果需要将远程仓库中的文件复制到工作目录中,需要先通过git pull将文件传到本地仓库,接着通过git reset命令将文件传到暂时区,最后通过git checkout命令将文件传到工作目录中。
Git文件的四种状态
Untracked:未跟踪,相当于我写了一个hello.java文件,但我并没有加入到git库中,可以通过git.add将状态变为Staged(已暂存)。
Modifyed:已修改。
Staged:已暂存,可以通过git commit命令将修改同步到库中。
Commited:已提交。
使用Git对项目版本进行控制
第一步下载Git,无脑下一步即可,下载完毕在桌面右击出现以内内容即为安装成功。
第二步,登录码云官网:https://gitee.com/
创建私有仓库
点击昵称进入主页:
创建仓库:
仓库名称最好不要为中文,输入完名称之后直接点击创建即可。
创建完成之后会看到一堆命令。
注意使用的地址为HTTPS,SSH是Linux推送的方式,此仓库为中央仓库。
此时在D盘创建一个本地仓库。注意:本地仓库不可随便移动。
建立本地仓库与中央仓库的连接。
在此文件夹里右键点击git bush here。
打开如下窗口
打开刚刚创建完中央仓库的页面,复制第一段代码:
粘贴到此窗口中,注意,此窗口不可用ctrl + v,只能右击,选择paste进行复制。
复制完之后回车
这两句话的意思是:
配置git的全局用户名 git config --global user.name "丘比特" 配置git的全局邮箱 (可以用作登录的) git config --global user.email "3213934848@qq.com"
如果是手机号登录的,系统会自动设置一串邮箱,如果不喜欢,可以在设置那里进行手动改动。
接下来复制第二段代码,粘贴到黑窗口并回车。
这段代码的意思是:
创建文件夹test1文件夹 mkdir test1 进入文件夹 cd test1 git初始化,用来生成一个隐藏的.git文件夹 这个文件夹中有很多重要的文件,不可以删除 git init 创建文件 README.md touch README.md 添加README.md文件 进入暂存区 git add README.md 提交暂存区的文件 并且设置提交信息 git commit -m "first commit" 设置推送的中央仓库的地址 git remote add origin https://gitee.com/aaa_1112/test1.git 推送所有已提交的文件 git push -u origin "master"
此时会弹出一个windows的凭证,输入登录到gitee账号和密码
windows系统不会做校验,你只有一次机会,如果输错了,
那么推送将会失败,需要从windows中将凭证删除后,重新推送
切记,如果不记得密码,请改简单一点的。
删除凭证步骤:
控制面板-》用户账户-》管理windows凭证-》将git开头的凭证全部删除即可。
删除完后重新运行git push -u origin "master" 继续会弹出凭证框体。
二次推送
注意:推送时最好不要推送较大的文件。
示例:
将idea中的某个项目推送到中央仓库中。
打开idea的某个springboot项目,可以看到spingboot的项目中会自动帮我们生成igitignore文件
该文件为忽视文件,打开该文件看到哪些文件会被忽视。
将项目文件放到本地仓库中。
在此文件夹空白处右键点击git bash here。
打开黑窗口后输入git add *,并回车,表示推送该文件内所有的文件,包括文件夹。
再输入git commit -m "内容名称",表示将内容提交到.git文件夹中。
最后输入git push,表示将内容推送到中央仓库。
这时打开中央仓库,即可看到所上传的项目。
中央仓库版本高于本地仓库版本的情况
如果,在中央仓库的文件夹中再次创建一个新的文件
此时,在本地仓库中添加一个新文件,如果再次进行推送,会显示推送失败。
这是因为我的本地仓库版本不是最新版本,这时需要拉取中央仓库的更新内容。
输入git pull,出现如下内容。此时这个窗口已经没有用了,×掉即可。
git pull:拉取中央仓库中的内容
在本地仓库中即可看到最新的内容。
这时候再进行推送。因为刚刚已经进行了commit提交,将暂存区的内容提交到了.git文件夹中,所以此时只需要进行推送即可。
这时刷新仓库即可看到刚刚所创建的文件。
以上只是第一步,第一步为单机模式,主要是为了熟悉命令。
但是因为这种拉项目,推项目,很容易使本地仓库崩掉,所以最好在本地仓库文件夹里创建两个文件夹,一个是开发工具用的,一个是推送用的。
打开中央仓库点击克隆,复制项目地址。
在idea文件夹中右键点击git bash here,输入命令git clone 项目网址,回车,即可把项目克隆到idea开发项目文件夹中。
同样的道理,在tuisong文件夹中也克隆一份项目。
这就相当于二次确认,更新只更新tuisong文件夹中的内容即可。
模拟多人协作写项目
示例:
组长:创建中央仓库。
点击中央仓库中的管理。
进入该页面点击添加仓库成员。
将以下网址复制给小组成员即可。
组员:
组员
- git clone https://gitee.com/aaa_1112/ceshi.git 将项目克隆到本地仓库
- git init
- 组员在目录下建立自己名字.txt文件
- git add *
- git commit -m “自己名字....”
- git remote add origin https://gitee.com/aaa_1112/ceshi.git
- git push -u origin master
其他成员:先使用
- git remote add origin https://gitee.com/aaa_1112/ceshi.git
- git pull
- 使用上面的4 5 7 三步
强调
git remote add origin https://gitee.com/aaa_1112/ceshi.git 该条命令只需要执行一次.
git操作的一般流程
Gitee插件
在idea中打开插件设置。
下载Gitee插件并重启idea。
打开设置里面的git,找到git.exe软件路径。
点击test可查看版本号。
接着打开选择gitee,登录你的码云账号。
登录成功后出现的是以下界面
完毕之后点击apply,ok即可。
如果需要将项目发布到中央仓库,需要进行如下操作。
会出现如下界面。
选择文件添加到缓存区,一般不带target文件。
点击右下角弹窗的选项一,可以直接调到中央仓库的网页。
如果新创的文件需要推送到中央仓库中,需要进行如下操作。
点击add表示添加到暂存区。
点击右上角的提交按钮,表示将暂存区的内容提交到本地仓库。
点击commit按钮的下拉标志,选择提交并推送
出现以下界面,点击push
右下角出现以下界面即表示推送成功。
刷新中央仓库,即可看到新创的文件。