最近在跑深度学习实验时,需要用到git,所以在此记录下我的git安装及配置过程,以便以后的参考
1. 当我准备想直接从Github上下载某一个项目是发现没有安装git,如下图
2. 安装git
sudo apt-get install git
3.配置 git环境
git config --global user.name "你的用户名"
git config --global user.email "你的注册邮箱"
4. 生成SSH密钥,输入下面命令后直接回车
ssh-keygen -C "你的注册邮箱" -t rsa
注1:“”是需要的!
注2:是在ssh目录下进行的!
注意:上图中我们需要关注下公钥的存放位置(/home/zhai/.ssh/id_rsa.pub),后面会需要用到这个文件
5. 登录GitHub填入client端生成的公钥
登录GitHub,在个人账号那里找到并打开“settings”,点入“SSH and GPG keys”:
点击右上角的New SSH Key,进入创建SSH Key:
title这里取个便于自己区分记忆的名字即可,Key输入框中粘贴id_rsa.pub公钥文件中的内容。
找到id_rsa.pub文件(/home/zhai/.ssh/id_rsa.pub),将文件中的内容全部复制粘贴到Key中,点击“Add SSH key”。
6. 将key加入到ssh-agent,在终端输入
ssh-add ~/.ssh/id_rsa
7. 初始化git仓库
创建一个空目录,进入这目录后输入命令
git init
比如,我本地新建一个目录gitcode
8 . 测试一下该SSH Key
输入 ssh -T git@github.com 命令进行测试
出现上述提示说明通过SSH连接GitHub成功了。
注1:之前在设置公钥时如果设置了密码,在该步骤会要求输入密码,那么,输入当时设置的密码即可。
注2:通过以上的设置之后,就能够通过SSH的方式,直接使用Git命令访问GitHub托管服务器了
注3:若在服务器添加完公钥后报错
sign_and_send_pubkey: signing failed: agent refused operation
9.克隆github上代码到本地,OK
10.遇到的问题
用ssh -T git@github.com来测试SSH连接的时候有问题,用git clone 命令的时候就也会报错“Permission denied (publickey).fatal: Could not read from remote repository.”,如下图:
上面我们还记得公钥和私钥的存放路径是/home/zhai/.ssh/,上图中报错路径是/home/code,当前使用账号是zhai,查看/home/code/.git/config文件,里面没有github账号的user信息,再结合报错内容,我猜测报错应该是由找不到公钥和私钥引起的。(个人猜测)
顺着这个思路我切换到/home/zhai目录先新建文件夹,再执行git clone, 命令执行成功,解决了该问题。