目录
参考文档:
1.Git的安装和简介
2.Git的秘钥
3.Gitlab的注册,页面如下,最好是选择Github进行注册
4.TortoiseGit的客户端下载
5 TortoiseGit配置
6.TortoiseGit使用示例
Git的简介与安装:https://www.cnblogs.com/xiuxingzhe/p/9300905.html
被墙了如何注册Gitlab:https://blog.csdn.net/fucaijin/article/details/80860112?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3
TortoiseGit的安装,配置:https://www.cnblogs.com/xiuxingzhe/p/9312929.html
Git秘钥生成以及Gitlab配置:https://www.cnblogs.com/xiuxingzhe/p/9303278.html
一个开源的分布式版本管理系统,Git和其他版本管理系统的区别是Git只关心文件数据整体是否发生变化,而其他大多数的版本管理系统则是关心文件内容的具体差异,记录每次有哪些文件作了更新,以及更新了哪些行的那些内容。
Git有如下特性
分布式:Git版本控制系统是一个分布式的系统,用来保存工程源代码历史状态的命令行工具。
保存点: Git的保存点可以追踪到源码中的文件,并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并,也可以回退到某一个保存点上。
Git离线操作性: Git可以离线进行代码提交,因此可以理解为一个完全的分布式处理,Git所有的操作不需要在线进行,所以Git的速度比SVN等工具要快,因为SVN等工具需要在线时才能操作,如果网络环境不好,提交代码就会变得非常缓慢
Git基于快照: SVN等版本控制工具是将提交点保存成补丁文件,Git提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据(如作者,日期,GPG等等)
Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支
分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支,另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去。
分支灵活性:用户可以随时创建,合并,删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并,这种方式使得开发变得快速,简单,安全
优缺点:
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大
离线工作,速度快,灵活
任意两个开发者之间可以很容易的解决冲突
缺点:
不符合常规思维
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
Git的客户下载
下载地址:https://git-scm.com/downloads,然后选择对应的操作系统版本,客户端版本进行下载
接着就是双击客户端进行安装。点击next进行下一步
选择安装的位置,默认是C盘,这里建议选择安装到其他盘
选择组件安装,可以按照默认配置,也可以全选
开始菜单快捷方式目录。默认即可,点击next,下一步
选择默认的编辑器:Vim,点击next,下一步
选择命令行工具,一般选择:User Git from Git Bash only , 然后点击next,下一步
选择默认即可,
选择换行格式,默认选择。
默认选择即可
默认选择即可
安装客户端完成,点击Finish退出安装界面
Git客户端环境变量的配置(非必须,也可不做这一步)
配置好后,在cmd窗口,输入 , git --version ,如果出现如下信息,即表示安装成功
开通gitlab , 开通的时候需要咨询所在公司的gitlab管理员账号后,本地Git仓库和gitlab仓库仍然不能传输项目,原因是要通过SSH加密才能传输,所以需要让gitlab认证本地的SSH Key,认证之前,则先使用Git生成SSH Key
本地秘钥:SSH的秘钥默认存储在账户的主目录下 ~/.ssh目录 如C:\Users\BF100400\.ssh\
查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。 如果有这两个文件,则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
1.配置用户名
git config -- global user.name "yangkaixin(此处应填写各自的用户名)"
2.配置邮箱
git config --global user.email "xxxxxxxxx@yyy.com"
3此时,在C:\Users\Administrator目录下生成.gitconfig配置文件(当然这个c盘的路径会因为计算机的不同而有些不一样):下图是本机的路径
这个.gitconfig文件不要删除
如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
4.生成公钥和秘钥:键入命令: ssh-keygen -t rsa -C "xxxddddddddx@163.com" (注意这个邮件名是在第二步配置邮箱时的邮件名,就是gitlab中的账号,需要保持一致)
接着需要连续按3次Enter键,不需要设置名称和密码
查看公钥:cat ~/.ssh/id_rsa.pub
当然还可以到公钥所在的文件夹查看
5.Gitlab添加公钥,首先点击setting
接着点击SSH Key
进入公钥所在的文件夹路径下,接着可以用记事本或者Notepad++打开 id_rsa 这个文件(或者用id_rsa_pub也行)
就可以看到公钥的内容
然后把id_rsa的内容粘贴到key输入框,输入title(标题), 注意输入完tilte后,Add Key 按钮才可以点击
至此,git及其gitlab相关的配置已经完成了,接下来可以使用git从gitlab上克隆代码来测试相关安装和配置的正确性
方法一:
ssh -T git@192.16.1.105 (注意这里@号后面的IP地址是gitlab的IP地址),键入命令,如下图所示,那就是已经成功进入GitLab
拉项目到本地:git clone git@192.168.1.105:root/TestProject_1.git , 这里可能还要注意下路径的问题,如下图所示,执行命令之前是先执行cd /d ,所以拉取到的项目会保存到d盘
进入项目 cd TestProject_1
方法二
注意:克隆代码之前确保有相关的项目代码权限(master、developer、reporter),如无权限,请求项目具有master权限的同事帮忙分配权限
这里以verify-center项目为例(有相关权限的项目,登录gitlab后,首页右侧会全部以列表形式展示),点击verify-center获取SSH 链接地址
.在本地目标下载目录下,右键-->Git Bash Here .输入命令:git clone git@gitlab.baofoo.net:clearing/verify-center.git .首次拉取代码时,需要确认秘钥信息,输入yes即可
.确认项目已从gitlab上克隆到本地,项目拉取完成,可以打开使用了
注册Gitlab注册时报错:There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.
原因:被墙了,导致验证码刷不出来
用另外一种方式注册,此时我们可以能通过Github账号登录Gitlab
当我们注册成功后,登录Gitlab,到setting页面更改密码,注意,这一步必须要有,因为更改密码以后再登录时才能顺利登录,否则如果退出登录,想用账号和密码登录是不行的
点击Password。设置新的密码,设置完之后,然后就可以使用你自己的邮箱和刚刚设置的密码登录Gitlab
tortoiseGit是一个开放的git版本控制系统的源客户端,该软件功能和git一样,不同的是:git是命令行操作模式,tortoiseGit界面化操作模式,不用记git相关命令就可以直接操作。
tortoiseGit下载地址:https://download.tortoisegit.org/tgit/
可以看到包含32位和64位的软件安装包下载,以及各种语言安装包,根据自己的系统选择对应的安装包,默认是英文(推荐),需要中文的下载语言包安装即可
接着就是TortoiseGit的安装
安装顺序:先安装程序包,然后安装语言包(LanguagePack).
安装说明:因为TortoiseGit 只是一个程序壳,必须依赖一个 Git Core,所以安装前请确定已完成git安装和配置
可参考:Git安装:https://www.cnblogs.com/xiuxingzhe/p/9300905.html
Git生成秘钥及GitLab配置: http://www.cnblogs.com/xiuxingzhe/p/9303278.html
一般来说,先安装客户端,如果还有下载了语言包。那就安装完客户端后,再安装语言包。同时因为TortoiseGit只是一个外壳,它依赖Git core。必要要有Git core,TortoiseGit才可以处理相关的逻辑功能。因此确定已经完成了Git的安装和配置
首先是,双击安装包即可弹出,安装向导的界面
然后是一路next下去,配置都选择默认
最后点击 Install ,
安装完毕后,点击Finish按钮
如果要安装语言包也可以自行安装,方法同TortoiseGit的安装, 如果想使用英文版本的该工具,不想使用中文版本的,则该模块操作可忽略
双击TortoiseGit-LanguagePack-2.6.0.0-64bit-zh_CN.msi,弹出安装导向
点击下一步,安装完成后,点击完成
4.1 常规配置 先选择一个本地的目录,作为git项目存放的目录,方便管理。本文选择: E:\project\clear-project,建议:路径中不要包含中文
在空白处点击鼠标右键, 选择 --> TortoiseGit --> Settings, 弹出配置界面(当TortoiseGit安装完成后,鼠标右键点击后,默认出现 TortoiseGit 相关选项)
点击General,在页面中选择Language下拉框,选择“中文(简体)中华人民共和国”,然后点击应用,确定关闭对话框(当然也可以继续使用英文)
如果使用英文:该步骤和下一步骤可直接跳过
在空白处再次点击鼠标右键,可以看到弹出菜单中已经变成中文. 原来的 Settings 变成 设置; Clone 变为 克隆,点击设置(S),再次弹出配置界面
配置右键菜单. 在设置对话框中,点选左边的"右键菜单",如果右边的复选框有默认勾选,全部去掉,,这样右键菜单显得比较干净
点击左边Git,配置相关信息,配置好后保存退出
因为当前还没有本地项目,所以 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。
然后,点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:
[user]
name = jinqi
email = jinqi@qq.com
signingkey = lht&123456
[credential]
helper = store
则当你推送项目到Gitlab等在线仓库时,会记住你输入的用户名和密码(这里不是用户的姓名和Email),这里用户名和密码就是注册gitlab的用户名和密码
name: 注册gitlab的账号,如: jinqi
signingkey: 注册gitlab的密码: *********
Email: 是联系邮箱,给别人联系时使用
4.2 秘钥配置 前面已经提到TortoiseGit只是一个壳,除软件的常规配置(语言包、用户信息等),还需要像git一样生成、配置秘钥信息
开始-->TortoiseGit-->PuTTYgen,进入PuTTY Key Generator
点击Generate,生成的过程中 注意:生成时鼠标要不停划过进度条,不然进度条会一直不动!
先点击Save private key把私有的密钥存起来,记住存储的位置,后面会用到
把生成出来的public Key复制粘贴到Gitlab上面,配置SSH key,具体可参考:本文的第2节【Git的密钥】
Gitlab配置成功后,邮箱会收到邮件
打开:开始-->TortoiseGit-->Pageant,打开以后右下角会有图标,双击点开蓝屏幕电脑那个图标 说明:使用TortoiseGit进行和远端输出项目时,Pageant必须启动且添加了对应的私钥。否则会报错
添加前面生成的private key.ppk,也就是私钥。然后关闭
以克隆verify-center项目为例,举例验证TortoiseGit配置正确
注意:克隆代码之前确保有相关的项目代码权限(master、developer、reporter),如无权限,请求项目具有master权限的同事帮忙分配权限
登录gitlab,获取SSH 链接地址
在本地目标下载目录下,右键-->TortoiseGit(T)-->克隆,粘贴SSH 链接地址到URL,点击确定
确认项目已从gitlab上克隆到本地