背景:
目前一些开源代码均在 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,由于我自己使用的是公司的电脑进行操作的,怀疑可能是公司对下载的代码量有限制。因此 将 下载代码的地址更换成了另一个工程(代码量非常小),发现下载成功了。