前言
虽然在工作中, VCS已然配置妥当, 我们敲好的业务只需要Commit&push提交就好, 但是不妨碍我们了解什么是版本控制, 为什么要使用这类工具?
ps.最近项目里的小伙伴想在自己家中配置Git, 所以我在此写点随笔, 记录一下配置流程, 以供参考.
在打开IDEA后, 在导航区会有这样一个举足轻重的模块, 没错, 它就是本文的主角VCS:
打开它:
会发现这里IDEA可以检查三种不同的VCS工具, 分别是Git, Mercurial, Subversion(即Svn).
什么是VSC(Version Control System, 版本控制系统)?
版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。用的比较多的如svn,git等。[惯例查询度娘]
工作中更多的注重, VCS的回溯能力以及细节变化, 它能将某个文件/项目回溯到有记录的状态, 以逃避版本变更带来的不可快速解决的问题, 维持正常的线上运转 ; 细节变化, 可以让我们查询最后是谁对哪里做了怎样的修改, 从中找出怪异问题的"罪魁祸首".
有哪些工作中常用的VSC呢?它们都有哪些区别?
1.本地版本控制, 如RCS, 暂不了解
2.CVCS ( 集中化的版本控制系统Centralized Version Control Systems ) , 如Svn, Perforce
3.DVCS( 分布式版本控制系统Distributed Version Control System ), 如Git, Mercurial
CVCS都有一个单一的集中管理的服务器( 一台作为服务端的主机 ), 而协作的人们都通过客户端 ( 各自的主机 )连接到这台服务器, 去除最新的文件或者提交更新, 比如Svn 还提供了管理权限; 但是*服务器的缺陷也是显而易见的, 比如单点故障, *服务器宕机, 那么谁也无法继续作业; 更坏的情况, 假如*服务器的物理硬件发生损坏, 又没有适当适时地备份, 那就GameOver了, 几天的开发进度可能付之东流!
为了解决这种问题, 于是DVCS问世了, 在这类系统, 像Git, Mercurial中, 客户端并不只是最新版本的文件快照, 而是将整个代码repository 镜像下来, 任何一处协同工作的服务器发生故障, 事后都可以用任何一个镜像来恢复, 每一次的clone 其实就是对repository的完整备份!
Eclipse中搭建Svn的过程
//TODO
IDEA中搭建Git, 连接GitHub的过程
Git工具官网下载地址: https://git-scm.com/downloads , 截止2019年7月27日, 最新版本为 Git 2.22.0
注意, IDEA支持Git 2.9+ , 最好下载更新的Git
Git安装中文翻译(并非安装教程, 可根据需要自行选择) 参考链接:https://blog.csdn.net/sishen47k/article/details/80211002
安装完成后, 右键空白处或需要操作的文件夹后, 显示以下, 则表示安装成功:
接下来配置Git 连接 GitHub:
1.右键 -- Git Bash Here, 输入以下命令, 设置git全局用户名和邮箱( 可以填入GitHub的 )
表示用这个账号控制版本, 当然, 你也可以不同仓库使用不同的用户名来管理.
2.设置与GitHub的关联, 可用ssh (Secure Shell, 安全外壳协议)
首先查看C:/用户/本机账号名 目录下是否有 .ssh文件夹, 如果有, 先删除(一般未配置过连接是没有这个文件夹的), 如win10系统下 :
我这里还未关联, 所以不存在.ssh文件, 假若你有, 可以选择删除它, 来重新配置, 在Git命令行输入:
ssh-keygen -t rsa -C "your_email@youremail.com"
一路回车下去, 最终显示: (当然你的肯定是一些乱七八糟的字符,我这个可是充了值的(误)!)
显示成功, 并在刚才的C盘目录下发现创建了.ssh文件夹, 并在文件夹里生成了两个文件, 表示生成ssh成功!如下图:
用编辑器打开 id_rsa.pub 文件, 全选复制内容!!!
3.在网页中打开GitHub账号, 并new一个仓库 repository
然后访问:https://github.com/settings/ssh/new 添加新的SSH 关联
将方才复制的 id_rsa.pub 内容粘贴进去! 最后重新输入认证密码, 即可在GitHub上保存一份SSH, 你的Git 已经可以关联到GitHub了 (这时你的邮箱会提醒你了, 账号下新增了一个token认证!!!总算告一段落 休息一下,叉会儿腰,再玩儿会手机, 告别这满是英文的"地狱", 开玩笑的, 我们继续 )
4.初始化本地仓库, 选择一个本地文件夹, 作为git的本地仓库, 存储项目镜像(其实如同一份备份)
在当前目录内, 右键打开GitBash, 输入:
会在当前文件夹下创建一个.git文件夹
5. 接着输入: git add . 将该目录下的文件都添加到仓库里, 作为一个主分支( master )
接着输入: git commit -m "content" content即为本次提交的注释,最好该注释是有意义的,因为以后跟别人一起用git开发项目时,回退时根据该注释就可以知道提交的时候修改了什么内容。