一、前言
1、什么是版本控制?
版本控制是一种在开发过程中,用于管理我们对文件、目录或过程等内容的修改历史,记录代码的迭代版本,方便查看修改历史,进行备份操作以便恢复以前的版本的一种软件工程技术。简单来说,就是一种用于管理多人协同开发项目的技术。
2、常见的版本控制器
主流的版本控制器有:
- Git
- SVN(Subversion)
- CVS
- VSS
- TFS
- Visual Studio Online
用的最多的是 Git 和 SVN。
3、版本控制的分类
(1)本地版本控制
记录文件的,欸从更新,可以对每个版本做一个快照,或者记录补丁文件;适合个人用,例如:RCS
(2)集中版本控制 SVN
所有的版本数据都集中在一个中央服务器上,用户的本地只有自己以前所同步的版本,如果不联网就看不到历史版本。
风险:当这个服务器损坏,就会丢失所有的数据。
(3)分布式版本控制 Git
没有中央服务器,每个人都拥有全部的代码。虽然解决了SVN的问题,但这产生了新的问题,会造成潜在的安全隐患。
二、Git下载和安装
1、下载git
如果从官网下载的话,速度很慢,所以采用镜像下载。
镜像地址:CNPM Binaries Mirror (npmmirror.com)
作者下的是2.43.0稳定版(下载.exe执行文件即可)
2、安装git
下载好git的exe文件后,双击即可安装。安装过程全程无脑点击下一步即可。这里不建议装在C盘(系统盘),所以可以将其安装路径改为D盘。最后一步的时候,可以勾选上 “ 在左桌面安装快捷键 ” 这一个选项。(也可以不勾选,无所谓的)
作者的安装路径为:D:\Environment\Git
3、验证
在终端输入:git --version 即可查看是否安装成功。
三、Git配置文件
1、Git的相关配置文件
D:\Environment\Git\etc\gitconfig;这里面是 Git 系统级的配置文件
C:\Users\z1585;该路径下有个 .gitconfig配置文件。这个配置文件是global全局的配置文件。当前登录用户的用户名和邮箱等信息都在里面。
2、设置用户名和邮箱
在任意位置,右击鼠标,会出现以下两个图标:
我们选择Git Bash,用命令行来操作git;不使用GUI图形界面来操作Git。(因为是新手,要多动手自己敲)。
在git bash界面中,输入下面的命令,来设置用户名和邮箱。
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"
3、验证是否配置成功
C:\Users\z1585;在该文件夹下,查看是否有 .gitconfig文件;双击打开之后,如果里面有你刚刚配置的用户名和邮箱信息,则说明配置成功。
注:签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系
四、码云Gitee的使用
这里作者使用的远程仓库是国内的--码云Gitee。不建议使用github,因为是国外的,中间隔了一道墙,使用起来会很慢。
1、首先是码云gitee的注册和登录,然后完善自己的信息。
2、设置本机绑定SSH公钥实现免密码登录。
因为码云是远程仓库,我们平时工作是再本地仓库,最后要使用git将代码上传到远程仓库gitee上。
步骤:
在 Git Bash 的终端界面,输入命令:ssh-keygen -t rsa -C '你的邮箱'
这里会在文件夹(C:\Users\z1585)下,创建一个.SSH的文件夹。这里面存放着你的公钥(id_rsa.pub)和密钥(id_rsa)。
我们将公钥里面的字符串复制到对应的位置,然后点击确定添加即可。
五、Git项目本地仓库搭建
本地仓库搭建有两种方式:一种是创建全新的仓库。另一种是克隆远程仓库。
1、创建全新的仓库,需要在git管理的项目的根目录执行:
#想把仓库建在哪个目录下,就在哪个目录打开Git的终端界面,如下图所示
# 在当前目录创建一个Git代码仓库
$ git init
执行改行代码后,在目录D:\gitcode\gitstudy下,多出了一个 .git 目录。关于版本等所有仓库信息都在这个目录里面。
2、克隆远程仓库
也是在git bash here 终端界面,输入下面的命令。
# 克隆一个项目和它的整个代码的历史(版本信息)
$ git clone url
这个url是一个地址链接,如下图所示:
六、idea集成Git
1、新建的项目绑定Git
直接将远程的Git文件项目拷贝到Java项目文件中即可。
注意观察:此时idea中多出了相应的红色文件,这是表示这些文件是被选中的状态。
2、修改文件,使用idea操作git
- 添加到暂存区(git add .)
- 提交到本地仓库(gir commit .)
- 上传到远程仓库(git push .)