SSH是目前较可靠,转为远程登录会话和其他网络服务提供安全的协议。
利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
Git就采用了SSH加密传输协议,加密传输的算法有很多,
git可以使用RSA,RSA的核心就是使用一对特定的数字,使用其中一个数字可以用来加密,而另外一个数字可以用来解密。
这两个数字就是你在使用git、github和gitlab的时候所遇到的public key 也就是公钥以及private key 私钥。
公钥是用来加密的数字,这也就是为什么本级生成了公钥之后,要上传到gitlab、GitHub的原因。
从GitHub或gitlab发回来的用公钥加密过的数据,可以用你本地的私钥来还原。
如果key丢失,不管是公钥还是私钥,丢失哪一个都不能用,需要重新生成一次然后在gitlab账户中再设置一次就可以了。
下面就讲一下如何生成SSH KEYS。
![打开sourcetree工具选中右上角的命令行模式]
(https://img-blog.csdn.net/20170317142830974?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjc2NDM1OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在命令行中输入以下命令生成gitlab服务端和本地git所需要的公钥和私钥:
ssh-keygen -t rsa -C "你在gitlab上注册的邮箱地址" ,
接着会提示你输入密码(这个没有必要输入,我本人没有输入),
然后执行到出现一个矩形框的时候就OK了。
这时你会发现C盘当前用户目录下多了一个.ssh文件夹,打开.ssh文件夹会发现两个文件id_rsa和id_rsa.pub,前面的就是私钥,后面的是公钥,
用记事本将公钥打开,copy到gitlab->SSH Keys->Key中,
copy之后Title中会显示你的邮箱账号(该title是可以随意命名的)。
完成之后点击Add key按钮。
到这里gitlab端的公钥就配置好了。
我们要用到sourcetree来下载代码到本地还要对sourcetree来进行设置。
打开sourcetree工具,选择工具->选项->一般->SSH客户端:选中OpenSSH(见下图所示),之所以要选择OpenSSH是因为,如果不进行选择的话clone代码的时候会报公钥错误。
sourcetree ->克隆/新建
源路径就是gitlab中的项目地址,copy过来就行了,目标路径自己设置好了,之后点击克隆,等一会代码就下载好了,你会看到sourcetree的界面如下:
多人开发的时候,是不允许在master分支上进行的,需要建立自己的分支
点击上方的分支按钮进行创建分支
创建分支完成后还要点击推送按钮,是为了在远端创建分支,到时候需要先将本地的代码提交推送到远端的分支,然后在gitlab上发起merge request请求,由管理者进行develop和master分支的合并操作。
推送之后,我们到gitlab去查看会发现多了一个分支develop。
选择分支->文件状态如下图
我们可以选中未暂存的文件,选择Statge Selected按钮,文件就会到已暂存文件区域,在下方输入框内输入更新说明,然后点击提交,到这一步只是存到了本地仓库,还需要点击推送按钮,这时才会更新远程develop分支,接着打开gitlab,点击merge request,发出请求合并。至此整个流程完毕,欢迎大家指正,转载请注明出处。
http://blog.csdn.net/u012764358/article/details/62886427