配置github的SSH key及GitHub项目上传方式一——使用终端命令行

Posted free-thinker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置github的SSH key及GitHub项目上传方式一——使用终端命令行相关的知识,希望对你有一定的参考价值。

GitHub是一个开源的大仓库,我们经常从github上下载项目进行学习和研究,下面是一个完整的步骤——往GitHub上传一个新项目。

一、注册GitHub账号

1、注册GitHub账号,地址:https://github.com

技术分享图片
注册账户

技术分享图片
账户选择

2、登录:


技术分享图片
登录.png

3、登录之后的页面,是我们star其他人的一些信息,类似于QQ空间的好友状态


技术分享图片
D2A62592-D46E-43B8-82B5-1628131CBC67.png

二、配置GitHub的SSH key

1、查看系统中是否配置过SSH keys,并处理

1.1 终端里输入显示隐藏文件:

 defaults write com.apple.finder AppleShowAllFiles -bool true  

输入命令完成之后需要重启Finder 桌面顶部苹果logo->强制退出->
就可显示隐藏文件。

还有一种方法,使用命令:cd ~/.ssh 检查是否已经存在ssh

1.2 然后前往个人文件查看有没有 .ssh 文件夹,有的话个人建议删除掉,从新配置

技术分享图片
.ssh 文件夹

2、在本地配置SSH key

创建一个 .ssh 文件夹 命令:mkdir .ssh

gonganxinxideiMac-2:.ssh gonganxinxi$ mkdir .ssh

进入刚创建的 .ssh文件夹目录里 命令:cd .ssh

gonganxinxideiMac-2:.ssh gonganxinxi$ cd .ssh

命令:ssh-Keygen -t rsa -C “youEmail”,输入完成之后一直按回车键 中间会提示你要输入文件、密码,不用管一直按回车直到出现下面这样。

gonganxinxideiMac-2:.ssh gonganxinxi$ ssh-Keygen -t rsa -C “[email protected]”
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/gonganxinxi/.ssh/id_rsa): 
Created directory ‘/Users/gonganxinxi/.ssh‘.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/gonganxinxi/.ssh/id_rsa.
Your public key has been saved in /Users/gonganxinxi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:2UDch+eu01e0XGA89tE89Kpnmdk+SlTLtxijRHaIX9w “[email protected]”
The key‘s randomart image is:
+---[RSA 2048]----+
|       ... . ..o.|
|       .. + = Bo+|
|        .. B * E+|
|         ++ + o.=|
|        S .+ +o++|
|          . +.+B+|
|           +.o*o.|
|          o oo.o |
|           . o. o|
+----[SHA256]-----+

指令:ls -la 查看 如果输出类似这样的信息,就说明配置成功

gonganxinxideiMac-2:.ssh gonganxinxi$ ls -la
total 0
drwxr-xr-x  2 gonganxinxi  staff   68  9  1 16:50 .
drwx------  6 gonganxinxi  staff  204  9  1 16:50 ..

到目前这步应该不会有什么问题,我们继续。
拷贝SSH key,会在github上进行配置的时候使用
gonganxinxideiMac-2:.ssh gonganxinxi$ pbcopy < ~/.ssh/id_rsa.pub

3、在github配置SSH key

3.1 找到SSH key配置位置

技术分享图片
viewProfiles and more -> Settings

3.2 填写SSH key配置信息


技术分享图片
SSH key 信息填写

此处将在终端上使用命令pbcopy < ~/.ssh/id_rsa.pub拷贝的信息粘贴到4
位置,然后Add SSH key就添加完成了。
如图

技术分享图片
FCA3D229-14AA-44C8-A3B8-DECB3CCA8EDF.png

4、回到终端,进行SSH确认连接
输入命令:ssh -T [email protected]
执行完这条指令之后会输出 Are you sure you want to continue connecting (yes/no)? 输入 yes 回车
回到github,刷新网页就可以看到钥匙旁的灰色小圆点变绿,就表明已经添加成功了。此时github上面的SSH key 456会变成和123一样的绿色。(如果 网速慢,可能要稍等一会)

当然也有可能出现这样的问题:

gonganxinxideiMac-2:.ssh gonganxinxi$ ssh -T [email protected]
The authenticity of host ‘github.com (192.30.253.112)‘ can‘t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes

此时即使输入yes

Warning: Permanently added ‘github.com,192.30.253.112‘ (RSA) to the list of known hosts.
Permission denied (publicly).

这个问题查了许久,发现是因为有时候防火墙会拒绝 SSH连接(Sometimes, firewalls refuse to allow SSH connections entirely. )在github的帮助中可以看到该问题。他们也给出了解决方案https://help.github.com/articles/using-ssh-over-the-https-port/

通过命令:ssh -T -p 443 [email protected]使用克隆过的SSH连接HTTPS端口。

gonganxinxideiMac-2:.ssh gonganxinxi$ ssh -T -p 443 [email protected]
The authenticity of host ‘[ssh.github.com]:443 ([192.30.253.123]:443)‘ can‘t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘[ssh.github.com]:443,[192.30.253.123]:443‘ (RSA) to the list of known hosts.
Hi zhangyanxiao! You‘ve successfully authenticated, but GitHub does not provide shell access.

看见You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

成功啦,棒棒哒!!!
下面可以在github创建仓库,上传项目了

三、创建项目仓库

1、创建github远程仓库

技术分享图片
创建新仓库

仓库创建完成后如图

技术分享图片
仓库创建完成

2、创建git本地仓库
我们需要设置username和email,因为github每次commit都会记录他们。

git config --global user.name "github的用户名" 
git config --global user.email"注册邮箱名"
技术分享图片
设置用户名和邮箱

cd到你的本地项目、根目录下,再执行git命令

gonganxinxideiMac-2:.ssh gonganxinxi$ cd /Users/gonganxinxi/Desktop/HexTurnRGB——Demo

git本地仓库初始化,这个时候可以在我们的项目文件中看到.git文件夹了

gonganxinxideiMac-2:HexTurnRGB——Demo gonganxinxi$ git init
Initialized empty Git repository in /Users/gonganxinxi/Desktop/HexTurnRGB——Demo/.git/

将本地项目的所有文件添加到暂存区中

gonganxinxideiMac-2:HexTurnRGB——Demo gonganxinxi$ git add .

将暂存区的文件提交到git本地仓库
命令:git commit -m "第一次提交" 双引号里面写注释语句
会出现很多如图,下面还有,没截进去。。。。

技术分享图片
1C15F6A4-0CD8-41C7-8485-B00BE3BC9F3F.png

3、将git本地仓库和Github远程仓库关联
在github中打开要上传项目的远程仓库,得到网址
https://github.com/zhangyanxiao/HexTurnRGB

技术分享图片
5238C91F-3ADE-417E-BCCB-8B77AE6AA78E.png

将本地仓库关联到Github上,后面的URL地址就是刚刚复制的github上仓库的https地址

gonganxinxideiMac-2:HexTurnRGB——Demo gonganxinxi$ git remote add origin https://github.com/zhangyanxiao/HexTurnRGB

从远程仓库pull,获取远程仓库的文件到本地仓库(往GitHub上提交东西的时候,会因为远程上有东西更新了但是本地仓库没有更新而造成提交失败,所以我们在push之前,都会pull一遍

gonganxinxideiMac-2:HexTurnRGB——Demo gonganxinxi$ git pull origin master

会出现以下界面:在这里面可以写pull的原因注释。用法可参照cocoapods导入第三方库的使用。


技术分享图片
3B54CD2F-726F-4EA1-8D57-20DD8C3C51D6.png

最后一步,将代码由本地仓库上传到Github远程仓库(此处,可能我们会查看当前是否在master,使用命令:git check master)

gonganxinxideiMac-2:HexTurnRGB——Demo gonganxinxi$ git push -u origin master
技术分享图片
上传代码

哈哈,完成了呢,看图,快??图??图

技术分享图片
代码已上传完成

最后分享一些Github常用的命令:
切换分支:git checkout name
撤销修改:git checkout -- file
删除文件:git rm file
查看状态:git status
添加记录:git add file 或 git add .
添加描述:git commit -m "miao shu nei rong"
同步数据:git pull
提交数据:git push origin name
分支操作
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
删除远程分支:git push origin :name










































以上是关于配置github的SSH key及GitHub项目上传方式一——使用终端命令行的主要内容,如果未能解决你的问题,请参考以下文章

github设置添加SSH Keys

github创建自己的项目并进行推送

MAC下配置多个SSH-KEY

GitHub教程 SSH keys配置

Win10 环境配置 Github SSH Key

多个 github 账号,怎样配置对应的 ssh key