文章首发于【博客园-陈树义】,点击跳转到原文使用SSH快速下载Git项目

Git下载项目的几种方式

Git是常用的代码版本技术,而GitLab则是开源的Git版本管理软件,GitLab是最受欢迎的版本管理开源软件。在Git中常用的下载项目方式有两种,分别是:

  • 通过https用户名和密码下载
  • 通过ssh下载

通过https输入用户名和密码下载这种方式比较简单,但不便之处在于需要多次输入用户名和密码。而通过ssh方式下载则直接在本机与Git服务器建立信任通道,无需每次都输入用户名和密码。

下面我们重点介绍如何通过ssh下载项目。

生成秘钥

通过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

GitLab添加秘钥

生成公钥后,登录GitLab站点,点击Profile Settings -> SSH Keys 菜单,把刚刚的公钥添加进去。

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

使用SmartGit的HostingProvider

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

其实我们通过SmartGit的Hosting Provider功能就可以实现这个功能,Hosting Provider可以直接把该账号可以访问的项目列出来,我们直接点击某个项目就可以下载了。

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

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

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

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

文章首发于【博客园-陈树义】,点击跳转到原文Git下载项目的几种方式

使用SSH快速下载Git项目的更多相关文章

  1. 高效开发技巧:为什么你下载Git项目这么慢?

    文章首发于[博客园-陈树义],点击跳转到原文<高效开发技巧:为什么你下载Git项目这么慢?>. 笔者所在公司采用的是 GitLab 进行版本管理,但许多同事下载 Git 项目的路径是这样的 ...

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

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

  3. kbengine里如何使用git快速下载项目?

    项目有两个镜像,github[https://github.com/kbengine/kbengine.git] ,osc开源中国[https://git.oschina.net/likecg/kbe ...

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

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

  5. 在eclipse中下载包含子模块(Submodules)的git项目

    先将项目下载下来 , 这时由于是子项目的原因 , 下载的项目中不包含任何子项目 . 这时在eclipse的Git Repositories中 , 选中Submodules , 右键点击update即可 ...

  6. 本地ssh设置多个git项目访问

    前因: 自己本地的~/.ssh里原本有个id_rsa,到了公司后新的git项目配置后,把自己原有的文件覆盖了,导致github和公司的项目我只能选一个,郁闷,怎么区分开呢? 大致逻辑是新生成一对密钥文 ...

  7. Git项目下载部分文件或文件夹

    我们常常要在Github下载一些源码.示例等,但有时候项目库会比较大,而我关心的只是其中很少的一部分内容,由于众所周知的原因,我们下载git库是比较慢的,过大的项目经常会下载失败,所以只下载部分内容就 ...

  8. 使用git下载一个项目

    1.安装好git之后创建一个库repository,用来保存git项目 2.进入repository之后,右击之后,选中 git bash here菜单选项 3.弹出命令界面之后输入命令: git c ...

  9. ssh 公钥 下载选择的时候 下拉选择 ssh 然后 git clone

    ssh 公钥 下载选择的时候 下拉选择 ssh 然后 git clone

随机推荐

  1. Strtus2框架笔记

    Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架. Struts2引入了几个新的框架特性:从逻辑中分 ...

  2. Install a Redmine on Ubuntu system

    # How to install a Redmine on Ubuntu system Ref to: https://www.linode.com/docs/applications/project ...

  3. IIS 服务无法在此时接受控制信息

    应用程序池无法重新启动,报错:服务无法在此时接受控制信息 解决方法:重启 Credential Manager服务即可

  4. 《Spark Python API 官方文档中文版》 之 pyspark.sql (二)

    摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...

  5. C语言程序内存布局

    C语言程序内存布局 如有转载,请注明出处:http://blog.csdn.net/embedded_sky/article/details/44457453 作者:super_bert@csdn 一 ...

  6. SSH框架整合--applicationContext.xml文件配置实例

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  7. scrolling 优化 避免卡顿

    让我们来瞧瞧在滚动时到底发生了什么.在理解这个问题之前,我们先简要的介绍下浏览器是如何向屏幕绘制内容的.这一切都是从 DOM 树(本质上就是页面中的所有元素)开始的.浏览器先检查拥有了样式的 DOM, ...

  8. display: run-in

    If a sibling block box (that does not float and is not absolutely positioned) follows the run-in box ...

  9. thinkphp碰到的一些小问题

    1. 生成的html自动被去掉换行和空格,压缩挤到一起了. 解决: 开启debug即可,在入口文件增加 define("APP_DEBUG",true); 2. 添加mysql的 ...

  10. jquery的img的动态title换行

    因业务需要,需要在图片悬浮的时候显示动态加载的title,如果图片的title为固定的可以使用以下方式换行: <img src="1.jpg" title="第一行 ...