什么是版本控制工具
版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
版本控制工具的好处
1.记录一个文件多次修改的历史记录,生成多个版本号
2.在团队开发中可以多人共享代码
版本控制工具分为:
集中式版本控制工具(以早期SVN为代表)
分布式版本控制工具(以现在Git等为代表)
集中式版本控制工具的优缺点:
优点:
每个人都可以在一定程度上看到项目中的其他人正在做些什么,而管理员可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易
缺点:
这么做显而易见缺点是中央服务器的单点故障,如果服务器宕机一个小时,那么在这一个小时内没谁都无法提交更新,也就无法协同工作。
分布式版本控制工具的优缺点:
优点:
1.服务器断网的情况下,也可以进行开发(因为版本控制是在本地进行的)
2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
缺点:
1.管理难度大,需要管理多个代码库
2.分布式版本控制工具会出现分支冲突,需要谨慎处理
Git概述
Git工作流程
本地工作流程:
工作区:就是你在电脑上创建的文件,可以看见的
暂存区:英文名叫stage或者index,可以暂时存储临时代码,可以撤销
本地库:把暂存区代码提交到本地库,生成历史版本,历史记录不可删除
整个工作流程:
远程仓库:也叫服务器仓库,可以多个开发者共享
Git工作操作
(这里就不写安装过程了,直接开始安装后的流程吧)
借助Git创建管理本地仓库
E:\gitTest (自己创建文件夹)
命令行窗口进入所在目录(同级)
初始化一个仓库
命令:git init +仓库名
把工作区代码添加到暂存区
命令:git add +文件名/.(该目录全部文件)
需要注意的是,这里添加成功以后不会显示是否成功,只要没报错就是成功
把暂存区代码提交至本地仓库
git commit -m+"注释"(这次改动的内容)
(我这里已经填写过用户名以及邮箱了,第一次打开会弹出一个东西让你先填写才能继续)
设置一个邮箱及用户名
git config -global user.email+"邮箱地址"
git config -global user.name+"用户名"
远程仓库
远程仓库也叫服务器仓库,可以多人共享代码
远程仓库如何搭建
方法一:
在某人的电脑上安装GitLabe(服务器仓库),在同一个服务器上可以访问
现在的大型公司基本上都在使用这个方法,可以在云服务器上搭建
方法二:
借助某些第三方工具
git:版本控制工具
gitee:第三方代码托管平台(国内),也叫"码云"
github:第三方代码托管平台(国外)
这里咱们以Gitee举例说明
其中前四步都没有难度,我们从生成SSH讲起:
我们打开Git程序并输入:ssh-keygen -t ed25519 -C "Gitee SSH Key"
中间通过三次回车键确定
查看生成的 SSH 公钥和私钥:ls ~/.ssh/
读取公钥文件 :cat ~/.ssh/id_ed25519.pub
复制这段公钥添加就行了
在IDEA中添加Gitee插件
添加Gitee账号
首次推送代码到远程仓库
在idea中集成git
集成git.exe文件
初始化本地仓库
把工作区代码添加到暂存区
添加文件到暂存区前,可以设置忽略文件功能(ignore插件),将不需要提交的文件排除掉
(安装插件过程跟之前一样,这里就不细讲了)
生成ignore文件
这里选择Example user template(用户模板示例)
这样就成功生成ignore文件了
添加代码到暂存区
把暂存区代码提交到本地库
把本地库推送到远程仓库
这样就成功推送到远程仓库了!
解决Gitee代码冲突
之前说过,Gitee可以解决多个开发者共享一段代码的问题.
那么使用中我们可能会遇到这样的问题:
如果两个人在同一个地方同时写了一段代码,上传的时候应该上传谁的呢?
又或者谁的代码在前,谁的代码又在后面呢?
Gitee后台已经推出了解决方案:把别人上传的远程代码下载到本地,在自己电脑上更新别人的代码,从而解决自己与别人之间的代码冲突问题