前言
虽然在工作中, 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开发项目时,回退时根据该注释就可以知道提交的时候修改了什么内容。