背景:

目前一些开源代码均在 GitHub上管理的,包括自己写的代码也可以放在上面进行管理。但问题是,当你换一台电脑,想要将你自己放在 GitHub 上的代码工程下载下来的时候,会遇到各种问题,目前可以使用4种工具下载代码,可以使用两种不同的方式。

内容:

1、使用 Git Gui 下载代码

在官网下载 TortoiseGit  和 Git GUI for windows ,下载完成之后,进行安装。

图一

  • 在设定为 git 的目录中右键,打开 Git GUI 软件

图二

图三

使用账号打开GitHub,同时打开自己的工程,在Clone or download 下拉之后,选择 use SSH,拷贝 输入框中的内容到 Git GUI 界面中。

图四

此时点击 Clone,会提示如下内容:

此时应该是SSH-key没有生成,需要到 GitHub 上,打开settings ---> SSH and GPG keys ---> 点击右侧的 generating SSH keys,查看官方的介绍,如何生成SSH key。

大致步骤如下:

(1) 首先检查服务器上否已经安装了 SSH key。

  • 打开 Git Bash

  • 执行 ls -al ~/.ssh 命令,如下图

可以看到以下列出了含有 SSH key的地方。当列表里面没有数据的时候,此时需要 生成一个新的 SSH key,并添加到 ssh-agent (见操作4) 和 Git Hub(见操作3)中。

(2) 生成新的 SSH key

  • 打开 Git bash 工具
  • 执行 ssh-keygen -t rsa -b 4096 -C "your email@example.com"

(3) 将 SSH key添加到 GitHub上

  • 直接打开 id_rsa.pub文件;
  • 将其中的内容拷贝到 GitHub上 (setting----> SSH and GPG keys )选择 New SSH key。

(4) 将 SSH key 添加到 ssh-agent上。

如果安装了 GitHub Desktop,可以直接使用这个工具下载代码,不需要 SSH key。

确保 ssh-agent正在运行的方法:

  • 如果使用了GitHub desktop 提供的 Git shell,那么 ssh-agent肯定是在运行的;
  • 如果使用 Git for windows 这种类似的中断,可以使用命令 开启 ssh-agent

  • 将之前生成的 SSH Key 添加到 ssh-agent

(5)完成以上操作之后,重新打开 Git GUI(按照)图一   -----  图四  进行操作

下载过程中可能会要求输入 (2) 步骤中设定的密码。

但是即使按照以上的步骤,仍然会出现以下问题,此时可能的问题是 若服务器是公司的,可能是被公司限制出了,此时需要使用 Git Bash工具进行操作。

2、使用 Git Bash 下载代码

(1) 打开Git Bash 工具

(2) 使用SSH 下载代码

  • 输入命令  ssh -v git@github.com  查看 SSH key 情况

在图中可以看到说是加载不到对应的 key 所属的文件,一般情况下,我们下一步做法可能是 重新生成 Key,但是即使重新生成了Key,也会发现还会有以上的问题。

(3)  使用 https 下载代码

  • git clone https://......(git地址)

但是 发现 rsult =18的错误。 查询相关日志,执行了一下命令

  • git config --global http.postBuffer  xxxxxx  (将接受代码的缓存扩大)

  • 再次执行 git clone https://......(git地址)

发现又有  result = 56,由于我自己使用的是公司的电脑进行操作的,怀疑可能是公司对下载的代码量有限制。因此 将 下载代码的地址更换成了另一个工程(代码量非常小),发现下载成功了。

Git 学习笔记之(一) 使用 git gui 从github上下载代码的更多相关文章

  1. Git学习笔记(一)Git初识及基本操作

    详细完整教程:官方文档,廖神Git教程,武sir 一.什么是Git? 定义:Git是分布式版本控制系统. 1.1什么是版本控制 我们可以回想以下,在我们上学毕业要写论文或是准备一份演讲稿的时候,都会用 ...

  2. Git学习笔记(2)-Eclipse中Git插件使用

    目前我使用的Eclipse luna版本中已经集成了git插件,这里就不介绍如何安装Git插件了,不懂可以看其他的博客. 上篇笔记介绍了Git的基本指令,实际开发中我基本都使用eclipse插件进行代 ...

  3. Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

    远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...

  4. git学习笔记(一)—— git环境搭建

    一.简介 Git是目前世界上最先进的分布式版本控制系统(没有之一). 首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库 ...

  5. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  6. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  7. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  8. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  9. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

随机推荐

  1. 【简单脚本】Linux查看配置信息

    命令比较多,统一整合了一下: 1.新建文件touch getComputerConf.sh 2.vim getComputerConf.sh 3.按i键插入,右键粘贴如下内容: #!/bin/sh e ...

  2. 分布式个人理解概述和dubbo实现简述

    什么是分布式?为什么使用分布式? 个人有一些浅薄的理解希望可以批评指正,从概念和应用 两个方面概述:      一.概念:分布式也叫分布式服务,也就是说 他是 一种面向服务思想的程序设计和架构风格,典 ...

  3. HDU 5534:Partial Tree(完全背包)***

    题目链接 题意 给出一个n个结点的树,给出n-1个度的权值f[],代表如果一个点的度数为i,那么它对于答案的贡献有f[i].问在这棵树最大的贡献能达到多少. 思路 对于这个图,有n*2-2个度可以分配 ...

  4. 56. Merge Interval

    56. Merge Interval 0. 参考文献 序号 文献 1 花花酱 LeetCode 56. Merge Intervals 2 [LeetCode] Merge Intervals 合并区 ...

  5. [常用命令]OSX命令

    在mac os下,如何通过命令行来下载网络文件?如果你没有安装或wget命令,那么可以使用curl工具来达到我们的目的. curl命令参数: curl ‘url地址’ curl [选项] ‘url地址 ...

  6. Requests方法 -- 项目实现自动发送邮件

    """1.discover方法里面有三个参数:-case_dir:这个是待执行用例的目录.-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开 ...

  7. Linux关闭进程。

    一.shell命令根据端口后关闭指定进程. $(netstat -nlp | | awk '{print $7}' | awk -F"/" '{ print $1 }') nets ...

  8. 别混淆了sizeof(数组名)和sizeof(指针)

    我们在挨个儿输出一个数组中的元素时,最常用的就是用一个for循环来实现,简单了事.比如类似下面的代码片段: for(i = 0; i< length; i++) { printf("数 ...

  9. python之pip install

    安装方式1 wget  http://python-distribute.org/distribute_setup.py sudo python distribute_setup.py wget  h ...

  10. Vue状态管理之Bus

    一般在项目中,状态管理都是使用Vue官方提供的Vuex 当在多组件之间共享状态变得复杂时,使用Vuex,此外也可以使用Bus来进行简单的状态管理 1.1 父组件与子组件之间的通信 vue.config ...