文章首发于【博客园-陈树义】,点击跳转到原文《高效开发技巧:为什么你下载Git项目这么慢?》

笔者所在公司采用的是 GitLab 进行版本管理,但许多同事下载 Git 项目的路径是这样的:

打开浏览器 -> 输入网址 -> 查找项目地址 -> 复制项目地址 -> 切换到命令行 -> 输入账号密码 -> 下载

这样每次去下载一个 Git 项目时,我们都要做一些重复性的动作,很浪费时间。但实际上,我们只需要进行一些简单的配置,只需要短短 5 分钟,就可以将上面的路径缩短成这样:

自动列出所有项目地址 -> 选择项目 -> 下载

这样可就大大减少了我们的重复劳动,提高了我们的效率。

熟悉 Git 的朋友应该猜出来了,第一种方式就是:HTTPS 协议下载,第二种方式就是:SSH 协议下载 + Hosting Provider。

下面我们就来讲讲如何使用 SSH 协议下载以及如何配置 Hosting Provider。

通过 SSH 协议下载项目,首先需要在本机生成公钥

先查看系统用户目录下是否有 .ssh 文件夹,如果有的话,那说明你之前已经生成过公钥,则可以跳过生成公钥。运行下面的命令生成一个密钥:

ssh-keygen -t rsa -C "your_email"

运行后会提示输入密钥存储地址以及两次密码,这里我们都直接用 Enter 键跳过即可。接着运行下面的命令查看生成的公钥:

cat ~/.ssh/id_rsa.pub

如果你的 GitLab 不是用默认的 22 端口,那么你还需要在 .ssh 目录下建立一个 config 文件,并写入如下内容:

Host gitlab.xxxx.com
HostName gitlab.xxxx.com
Port 16333
PubkeyAuthentication yes
IdentityFile ~/.ssh/id_rsa

其中 Host 和 HostName 就是你所连接的 GitLab 地址。

生成公钥后,我们就需要登录 GitLab 站点,往我们的账号中添加秘钥了。点击 Settings -> SSH Keys 菜单,把刚刚的公钥添加进去。

之后选择任何一个项目,复制其ssh的项目地址,第一次时会提示是否接受服务器的密钥,选择是就可以了。正常情况下,都可以顺利下载。

配置了 SSH Key 之后,我们下载项目的时候就可以直接下载项目,不需要输入帐号和密码。但我们寻找项目的时候还需要登录 GitLab 去找项目的ssh地址,这个步骤显得有点繁琐。

其实我们通过 SmartGit 的 Hosting Provider 功能就可以直接查看所有项目,需要下载某个项目直接点击就可以下载了。

提示:SmartGit 是一款 Git 版本管理可视化工具,可以点击这里[下载](Download Git Client SmartGit)。

配置 Hosting Provider 功能,点击 Repository 菜单的 clone 选项,在窗口选择Add Providing Hosts。

在弹出的窗口填入相关信息,点击添加即可。

其实 Access Token 信息可以在 GitLab 的 Account 菜单中获取到。

配置完成后,下次 clone 项目的时候就可以看到对应的 Providing Hosts 选项。

选择对应的 Providing Hosts 选项,就可以看到所有的项目列表啦。

文章首发于【博客园-陈树义】,点击跳转到原文[《高效开发技巧:SSH秘钥快速下载Git项目》(http://www.cnblogs.com/chanshuyi/p/quick_download_git_project.html)。

高效开发技巧:为什么你下载Git项目这么慢?的更多相关文章

  1. 使用Eclipse上传/下载Git项目

    使用Eclipse上传/下载Git项目 前提: Eclipse已安装EGit插件 已拥有GitLab / GitHub / 其它Git托管服务账号 SSH方式 配置 配置Git信息 配置用户信息 Ec ...

  2. 使用SSH快速下载Git项目

    文章首发于[博客园-陈树义],点击跳转到原文使用SSH快速下载Git项目. Git下载项目的几种方式 Git是常用的代码版本技术,而GitLab则是开源的Git版本管理软件,GitLab是最受欢迎的版 ...

  3. 多人开发的git项目如何保持提交日志为一条直线?

    多人开发的git项目如何保持提交日志为一条直线? 一.Git的项目的git常用操作 a)Git clone 项目地址 从远程仓库克隆项目到本地 b)Git pull 从当前分支拉取更新代码 c)Git ...

  4. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  5. AngularJS进阶(三十)AngularJS项目开发技巧之图片预加载

    AngularJS项目开发技巧之图片预加载 绪 项目(移动端采用Ionic 框架)开发完毕,测试阶段发现移动APP首页的广告图片(图片由服务器端返回相应url地址)很难加载,主要原因还是网速.如下图左 ...

  6. Git项目协同开发学习笔记2:项目库开发协作相关命令

    之前介绍了如何用git构建项目库及其后续操作的问题,但主要还是个人的操作问题,不太涉及到项目协作方面的问题,所以来说下这块.传送门在这里(后面的可以不用看了). 1.同步 首先就式同步问题:在项目协作 ...

  7. 微信小程序入门与实战 常用组件API开发技巧项目实战*全

    第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...

  8. 【开发工具】-- IDEA集成Git在实际项目中的运用

    1.企业实际项目中Git的使用 在实际的企业项目开发中,我们一般Java的项目在公司都有自己的局域网代码仓库,仓库上存放着很多的项目.以我工作过的公司如华为的项目,一般是存放在企业内部的CodeHub ...

  9. git下载自己项目到本地

    git下载自己项目到本地 假如外出工作,需要在另一台电脑上面pull自己的某个git远程项目到本地 $ git init $ git pull https://github.com/TTyb/54qj ...

随机推荐

  1. 開始:触摸MySQL

    学习MySQL.少不了安装一个MySQL数据库,安装想必非常easy,事实上也是.我下载了一个MySQL5.7.百度了一下安装步骤,就成功安装了.相对于Oracle来说要简单不少. 买了两本书,看了& ...

  2. ElasticSearch和ElasticSearch Head环境搭建和数据模拟

    首先elasticsearch-6.0.0\bin目录下运行elasticsearch服务 修改elasticsearch-6.0.0\elasticsearch.yml文件 在文件最后加入下面代码, ...

  3. iOS设计模式之懒加载

    一.为什么要懒加载? 答: iPhone设备内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么久可能会耗尽iOS设备的内存.这些资源例如大量的数据,图片,音频,过多的控件等. 二.懒加 ...

  4. DotNetCore跨平台~为Lind.DotNetCore框架添加单元测试的意义

    回到目录 单元测试大叔认为有几下两个必要的作用,也是为什么要上单元测试的原因 组件,框架在修改和BUG解决后,进行正确性的测试,然后才能打包 业务模块,主要提现在进行业务规则的模拟上面,保证了业务逻辑 ...

  5. 【CSS3】布局

    浮动布局: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  6. JavaScript基础3——关于运算符

    算数运算符 算数运算符有+.-.*./.%.++.--.=.类似+=的运算符,其使用方式与编程语言(Java.C++.C#等)基本一样.给定 y=5,下面的表格解释了这些算术运算符: 运算符 描述 例 ...

  7. Hibernate学习---基本介绍+作用+配置

    从今天开始重新学习(以前学的太匆忙)Hibernate,这篇文章主要就一下几点进行讲解和说明: Hibernate的基本介绍 Hibernate的作用 Hibernate基本配置 Hibernate的 ...

  8. python学习日记:day11----装饰器进阶

    1.wraps from functools import wraps def wrapper(func): #func = holiday @wraps(func)#输出holiday的函数名 de ...

  9. apache故障处理

    注意:修改虚拟机主机html路径不需要修改主配置这一行. DocumentRoot "/var/www" 1.Permission denied: [client 10.10.2. ...

  10. 解题思路:house robber i && ii && iii

    这系列题的背景:有个小偷要偷钱,每个屋内都有一定数额的钱,小偷要发家致富在北京买房的话势必要把所有屋子的钱都偷了,但是屋子之内装了警报器,在一定条件下会触发朝阳群众的电话,所以小偷必须聪明一点,才能保 ...