准备
- 在GitHub注册账号
- 下载sourceTree客户端
正文
1. 在GitHub创建仓库
2. 克隆仓库
克隆的方式有两种
1. Use HTTPS
2. Use SSH
第一种比较方便直接复制粘贴就行
使用第二种需要添加ssh密钥, 因为本地的git仓库和Github服务器之间是通过ssh加密的
3. 使用sourceTree把仓库克隆到本地
3.1 克隆
3.2 提交
PS: 添加SSH keys
1. 生成SSH密钥
1.1 终端中执行如下命令,进入.ssh文件夹,查看是否已经有了ssh密钥; 如果没有密钥则不会有此文件夹,有则备份删除:
cd ~/.ssh
2. 生成公钥
ssh-keygen -t rsa
//这里是输入文件名,直接回车的话,则使用默认名id_rsa。
Enter file in which to save the key (/Users/rason/.ssh/id_rsa):
//这里是输入密钥密码,直接回车的话,密码为空。
Enter passphrase (empty for no passphrase):
//这里是再次输入密钥密码,直接回车的话,密码为空。该密码就是使用该密钥所需要输入的密码。
Enter same passphrase again:
看到如下提示,说明已经生成成功。
Your identification has been saved in /Users/rason/.ssh/id_rsa.
Your public key has been saved in /Users/rason/.ssh/id_rsa.pub.
The key fingerprint is:
………………
3. 查看并复制公钥
cat id_rsa.pub
4. 添加公钥
4.1 打开GitHub的setting页面
4.2 将刚刚复制的公钥粘贴到key中
5. 测试是否连接成功
ssh -T git@github.com
有以下信息,说明已经成功。
PS: 上述申请的公钥同样可拥有开源中国--码云的ssh keys
在修改个人资料中选择ssh公钥
输入命令查看上述申请的公钥并复制粘贴到添加公钥的输入框中
cat ~/.ssh/id_rsa.pub
添加后,在终端(Terminal)中输入
ssh -T git@git.oschina.net
若返回
Welcome to Git@OSC, yourname!
则证明添加成功。
至此就可以Use SSH从GitHub和码云clone项目了
SourceTree 一直提示输入密码问题
一、系统更新问题
项目是走ssh克隆下来的,之前也配置过密钥。按理来说不应该出现这样的问题,在日常开发过程中突然需要我输入密码?
在经过多方面资料查找与解决方案尝试后终于找到了原因,背后的黑手是系统升级了,在升级为macOS catlina后 ssh的代理就被自动清除了,所以重新添加一下就好了
步骤:
1、在控制台输入 【ssh-add -L】,控制台会显示如下:
$ ssh-add -L
The agent has no identities.
2、再执行一次【ssh-add】,然后输入电脑密码就好了,成功后会展示你本机的ssh密钥。控制台显示如下:
Enter passphrase for /Users/macName/.ssh/id_rsa:输入电脑密码
Identity added: /Users/macName/.ssh/id_rsa (/Users/macName/.ssh/id_rsa)
3、最后再次执行git命令则无需输入密码了。
二、SourceTree自身问题
问题: 不管输入哪个密码都是一直循环提示需要输入密码,并且也确认在github上添加过ssh key。
解决办法:
先在命令行git clone一次之后,再重新使用SourceTree进行克隆就没有问题了,后面就可以随意使用SourceTree进行克隆其他项目。
不止github.com,code.aliyun.com也可能出现该问题,同样的解决办法处理即可。
原因: git clone 一次之后会在.ssh/known_hosts中记录ssh key。