最近一个项目需要与国外团队合作,而他们的代码在GitLab上,需要使用Git工具连接服务器,对于我这样一个SVN的拥护者,当然很高兴去接受这个工作了(鄙视一下目前单位还使用ClearCase)。

但操作下来,连接过程远比SVN复杂得多,所以很有必要做一个总结。

1 安装Git工具

安装Git的工具是必须的,下面给一个官方的网址

https://git-scm.com/downloads

除了安装最新的Git安装包外,最好再安装一个TortoiseGit,地址在

https://tortoisegit.org/

2 创建SSL key

用管理员启动Git Bash,结果类似下边这个样子。

输入你的用户名,如

git config --global user.name "Zhang San"

输入你的邮箱地址,如

git config --global user.email "abc@xxx.com"

输入下边的命令,中括号里的内容需要你执行替换

ssh-keygen -t rsa -C "[你的邮箱地址]"

你需要点击回车3次,密码默认为空,不过不要紧

一切都结束后,你会在C盘你的名字目录下边,多出连个文件 “C:/Users/[你的名字]/.ssh/id_ras”和“C:/Users/[你的名字]/.ssh/id_rsa.pub”。其中“id_rsa.pub”就是公共的密钥(公钥),你需要使用记事本打开,然后复制里边的文本。

如果你的代码库那里有一个网站,地址就是你的git版本库地址,类似“https://xxx.yyy.com/zzz.git”,使用浏览器登陆进去,可能需要输入你的用户名密码(这个问GitServer的管理员,也就是管理你们代码的人),如果有需要输入这个Key的话,放心大胆的粘贴上去吧。

如果没有这个网站(一般不可能),你需要将你的公钥发给Git服务器管理员,手动添加你的公钥,这样你在本地登陆GitServer时,服务器就能够通过你的公钥加密代码再发给你,从而保证了中间过程传输的安全性。

3 克隆代码

公钥设置成功后,可尝试更新代码吧,Git使用克隆的方式,这里可以先普及一下,Git是一个分布式的代码管理器(与SVN最大的区别),也就是每台计算机上都可以有一份克隆版的服务器,最大的好处是,一旦主服务器链接失败了,你仍然可以提交代码,因为你本机上就有一份克隆,本机的服务器发现主服务器又链接成功后,会自动的上传,你不需要管理了。从而,无论何时何地,你都可上传代码,管理自己的代码(SVN就不行,一旦连不上服务器,你也上传不了了,如果1个月上传不了代码,你还编不编码了,怎么恢复昨天的编写内容等等,都是问题)。

安装TortoiseGit工具后,找一个存放代码的文件夹,右键,选择菜单项“Git Clone...”,在弹出的画面里,输入代码url

类似“https://xxx.yyy.com/zzz.git”,记得要选择“Recursive”,同步改地址下的所有代码。

如果克隆失败,并提示你如下信息:

Cloning into ‘*****’…

fatal: unable to access ‘https://……/’: SSL certificate problem: unable to get local issuer certificate

那说明你的证书还没有启用,请看下节。

4 启用证书

(1)备份原证书

我们使用IE(最好IE11),输入url网址,我们会在网址的右侧发现一个小锁头的标志,点击一下,下面出现一个小框,点击下边的“View certificates”

你会看到你的证书对话框,选择最后一页“Certification Path”,你会发现你下边有一个证书的树形结构,选择根结点(用鼠标点击一下Root结点),再点击下边的“View certificate”按钮。

你会看到另一个证书对话框,没错,这个是你根结点的证书,选择第二页“Details”,点击下边的“Copy to File...”按钮,目的是将该证书另存出去。

在保存过程的第二页,请选择第二种保存格式“Base-64 encoded X.509 (.CER)”,文件被保存在指定目录,我们姑且将它“RootCer.CER”,这个文件后面会用到。

(2)启用新证书

安装Git后,本地会出现新证书,位置在Git安装目录下,根据操作系统不一样,位置可能有变化,注意一定要找到正确的文件

“C:\Program Files\Git\mingw64\ssl\certs\”(针对Win7 x64)

“C:\Program Files (x86)\Git\mingw32\ssl\certs\”(针对部分x86系统)

将里边的两个文件“ca-bundle.crt”和“ca-bundle.trust.crt”,拷贝到你的目录下 “C:\Users\[你的名字]\”

启动Git Bash,不会起的请看第2章,输入下面的命令

“git config --global http.sslCAInfo C:/Users/[你的名字]/ca-bundle.crt”

(3)回复原证书

需要将原证书的内容拷贝到新证书中,还记得我们导出的原证书吗,我们需要使用一个文本编辑工具打开它,这个工具最好能够识别"\n",将其视为换行,否则所有内容都聚集在一行显示,很难拷贝。

复制这些内容后,再打开新证书,在“C:/Users/[你的名字]/ca-bundle.crt”,将原证书的内容粘贴到最下边,保存。

一切都就绪了,重新Clone你的代码库吧,祝你顺利,如果还不行的话,咨询你的管理员吧。

代码管理——如何连接Git Server,下载代码的更多相关文章

  1. 使用 Git & Repo 下载代码

    客户端安装 Git 安装 git,gitk 网络连接正常的情况下: $ sudo apt-get install git-core gitk git-gui 不能上网,有.deb安装包的,请执行: $ ...

  2. IOS-源代码管理工具(Git)

    一.简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Benedict ...

  3. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

  4. 从git上下载代码并导入eclipse

    主要分为两步: 1.先从git下载代码到本地git仓库 2.eclipse import导入存在的maven项目

  5. 代码管理平台之git

    yum install -y gitmkdir -p /date/gitrootcd !$git init git add 1.txtgit commit -m "add 1.txt&quo ...

  6. Visual Studio 连接 SQL Server 关键代码

    首先先把Visual Studio 上面工具打开-->连接数据库-->选择Microsoft SQL Server进入(有两种验证方式:1.windows验证方式[就是本机验证]:2.SQ ...

  7. 完美解决--用VS中的Git做代码管理器,与他人共享代码

    1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推 ...

  8. [资源]--完美解决--用VS中的Git做代码管理器,与他人共享代码

    1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推 ...

  9. git clone下载代码

    下载master代码git clone http://username:password@git.wondershare.cn/XXX.git 下载指定develop分支代码git clone -b ...

随机推荐

  1. input中加入搜索图标

    刚吃了一份宫保鸡丁刀削面,幸福感满满,写篇博客消耗一下热量. 今天工作遇到的一个问题是在input输入框中加入图标,当输入内容后,图标和提示语一起隐藏,类似于placeholder的功能.如淘宝页面, ...

  2. dhtmlxScheduler日程安排控件

    dhtmlxScheduler是一个JavaScript日程安排控件 官方网站:http://www.dhtmlx.com/在线帮助文档:http://docs.dhtmlx.com/doku.php ...

  3. 关于flume配置加载

    最近项目在用到flume,因此翻了下flume的代码, 启动脚本: nohup bin/flume-ng agent -n tsdbflume -c conf -f conf/配置文件.conf -D ...

  4. 044. asp.net主题之二为主题添加CSS样式和动态加载主题

    1. 新建任意一个网站, 默认主页为Default.aspx, 增加一个App_Themes目录, 用于存储主题, 添加一个MyTheme的主题, 在MyTheme主题下添加一个样式表文件, 默认名称 ...

  5. unity, reduce android size

    参考: https://www.youtube.com/watch?v=TYSmf_zgtZo http://stackoverflow.com/questions/41087220/how-to-u ...

  6. 【深度学习】之Caffe的solver文件配置(转载自csdn)

    原文: http://blog.csdn.net/czp0322/article/details/52161759 今天在做FCN实验的时候,发现solver.prototxt文件一直用的都是mode ...

  7. Fatal error 829---数据库 ID 8,页 (1:80740) 已标记为 RestorePending,可能表明磁盘已损坏(日志备份和热备、双机的重要性)

    问题现象: 在业务数据库中查询:SELECT a.NAME FROM SYSOBJECTS a WHERE a.NAME LIKE '%2015' AND a.XTYPE='u' 提示:消息 21,级 ...

  8. 有wsdl地址生成客户端调用

    新建Java Project 1.项目名称:HelloWorldClient 2.建好的项目 3.生成客户端 选择HelloWorldClient 填写wsdl地址(参考:myeclipse构建web ...

  9. Maven项目java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger报错

    本文转载自:http://www.javaweb1024.com/info/894.jspx maven管理的项目,里面已经引入了log4j的包 maven引入如下: <dependency&g ...

  10. 一款好用且免费的语句分析工具Plan Explorer

    在调优过程中的查询语句优化阶段,分析语句的执行计划是必经之路,一款好的执行计划分析工具确实可以帮助我们事半功倍 小贴士:Plan Explorer是将Plan Explorer 专业版与免费版整合在一 ...