GitHub官网访问:
初次使用git的用户要使用git协议大概需要三个步骤:
一、生成密钥对
二、设置远程仓库(本文以github为例)上的公钥
三、把git的remote url远程仓库URL可访问路径修改为git协议(以上两个步骤初次设置过以后,以后使用都不需要再次设置,此步骤视以后项目的remote url而定,如果以后其他项目的协议为https则需要此步骤)
一、生成密钥对
大多数Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成1个,生成公钥的过程在所有操作系统上都差不多。首先你要确认一下本机是否已经有个公钥
SSH公钥默认储存在账户的主目录下的~/.ssh目录(/Users/haijunyan/.ssh)
cd ~/.ssh //cd /Users/haijunyan/.ssh(若相对路径失效则采用绝对路径)
ls
查看有没有id_rsa和id_rsa.pub(或id_dsa和id_dsa.pub类成对的文件),有.pub后缀的文件是公钥,另一个文件则是密钥。
假如没有这些文件,甚至连ssh目录文件夹都没有用
ssh-keygen -t rsa -C "15261882407@163.com"
来创建(该程序在Linux/Mac系统上由SSH包提供,而在Windows上则包含在MSysGit包里:
直接按Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行,应该不会有人闲的无聊冒充你去修改你的代码))。
完了之后,大概是这样
Your identification has been saved in /Users/haijunyan/.ssh/id_rsa
Your public key has been saved in /Users/haijunyan/.ssh/id_rsa.pub到此本地密钥对生成。
二、添加公钥到你的远程仓库(github)
1.查看你生成的公钥:
cat ~/.ssh/id_rsa.pub
ssh-rsa
AAAB3NzaC1yc2EAAAADAQABAAABAQCOX6L1zLL4VHuvGb8aJH3ippTozmReSUzgntvk434aJ/v7kodJ/MTyB1WXFCR+HAo3FXRitBqxiX1nKhXpHAZSMciLq8vR3c8E7CJZN733f5AL8uEYJA+YZevYSUCvEg+umT7PHghKYaʃ16waCxV7sjYP7Z6V790MCEAGDNXC26IBMdMgOluQjp606j2KAdtRBdCDS/QIU5THQDxJ91BXjk1fiq9tITo/aXBvjZeD+gH/Apkh/0GbO8VQLiYYmNfqqAHHeXdltORn8N7C910a/UW3KM7QdXo6J0GF1BVQeTE/IGqhMS5PMln3adninRadnin-PC
2、登陆github网站帐户,点击头像,然后Settings->左栏点击SSH and
GPG keys ->点击New SSH key
3、然后cmd+all复制上面公钥内容,粘贴进"Key"文本域内,title域自己随便起个名字。
4、点击Add key。
完成以后,验证下这个key是不是正常工作:
ssh -T git@github.com
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
恭喜设置已经成功了。
三、文件config配置
添加私钥至本地Chain/SourceTree
执行
ssh-add ~/.ssh/id_rsa
将sshkey私钥添加到sourceTrees(若~/.ssh/id_rsa: No such file or directory相对路径失效则采用绝对路径)
ssh-add /Users/haijunyan/.ssh/id_rsa
执行
ssh-add -K ~/.ssh/id_rsa
将sshkey私钥添加到钥匙串
ssh-add -K /Users/haijunyan/.ssh/id_rsa
cd到ssh目录下
用
touch config
命令创建config文件
执行open config打开config文件输入以下内容并保存
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
四、 known_ hosts文件:
中转指向ServerNodeNameUnknown服务器加入白名单列表内服务端初次链接优先通过终端触发激活
//备注:曾经通过HTTP协议已下载的本地映射库需要切换路径渠道http>ssh
五、
方案一(推荐:本地删除重新ssh导出映射库):
1.本地删除旧映射库
2.登录GitHub官网找到目标库对应的ssh渠道路径
eg:git@github.com:haijun-suyan/TeamGroupSimulation.git
3.sourcetree > 从URL克隆
方案二(不推荐):
修改git管理的remote url远程访问路径
git remote -v //查看当前项目的remote url访问路径(格式)
origin https://github.com/someaccount/someproject.git (fetch)
origin https://github.com/someaccount/someproject.git(push)
以上结果说明项目当前是使用https协议进行访问(git@开头则表示git协议)则登陆github网站在上面可以看到ssh协议相应的url路径后使用命令
git remote set-url来调整url访问路径
git remote set-url origin git@github.com:someaccount/somproject.git
再用命令
git remote -v
查看url访问路径是否已经变成了ssh地址路径
愉快使用git fetch,git pull,git push
备注:
cd /Users/haijunyan/.ssh/
pwd
ls
ssh-keygen -t rsa -C "15261882407@163.com"
ssh-add /Users/haijunyan/.ssh/id_rsa
ssh-add -K /Users/haijunyan/.ssh/id_rsa
ssh -T git@github.com
cd /Users/haijunyan/Desktop/CustomKit/TeamGroupSimulation
git remote -v
备份: