使用GitHub也有段时间了,想起第一次用GitHub也是挺曲折的,从配置秘钥到上传,但是感觉还挺麻烦,就想总结一下如何配置SSH秘钥以及如何上传代码至GitHub,这里所有的操作都是在OS X系统下的进行,本人使用的时间不是很长,所有如果有更好的用法或者解说错误,请告知一下,Thanks()
GitHub验证方式
上传GitHub的时候是需要身份验证的,而验证身份的方式有两种:
1. 通过用户名以及密码验证
2. 通过SSH秘钥验证
以上两种方式都可以进行验证,不过个人而言,还是比较喜欢用SSH秘钥的,至于为什么呢,相信以后用到的时候您自然明白用SSH秘钥的便利之处。所以这里就只说明一下如何配置SSH秘钥
配置SSH秘钥的位置
- 注册之后,登陆进GitHub,在右上角选择身份下的Settings(配置)选项,效果如下图
- SSH and GPG keys
- 因为本人已经设置过SSH了,所以这里会显示一个SSH秘钥,不过没关系,第一次设置肯定会是下面的情况,Title写GitHub的账号即可:
验证是否存在SSH秘钥
接下来就需要找到咱的Key了,说到找Key,他就存在一个叫做id_rsa
的文件里面,如何找到这个文件呢?
通过在终端中使用命令行来验证是否已经存在SSH秘钥
ls -al ~/.ssh
如果终端出现下面代码行,就说明已经生成过SSH秘钥
RunIntoLoveMacBook-Pro:~ yuewen$ ls -al ~/.ssh
total 40
drwxr-xr-x 6 yuewen staff 204 11 30 17:40 .
drwxr-xr-x+ 35 yuewen staff 1190 4 6 12:47 ..
-rw-r--r--@ 1 yuewen staff 6148 12 9 12:12 .DS_Store
-rw------- 1 yuewen staff 3326 1 6 14:08 id_rsa
-rw------- 1 yuewen staff 742 1 6 14:08 id_rsa.pub
-rw-r--r-- 1 yuewen staff 2794 2 29 18:09 known_hosts
已经存在SSH秘钥
这种情况,只需将key复制出来,然后黏贴到配置中的key中即可,使用一下命令行就完成对key的copy操作
pbcopy < ~/.ssh/id_rsa.pub
不存在SSH秘钥
不存在SSH秘钥也不需要着急,生成一个就行,下面的操作也在终端中进行
1.创建一个新的SSH秘钥
ssh-keygen -t rsa -b 4096 -C "[email protected]
2.确定一个保存秘钥的文件,默认就是id_rsa,确认即可
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
3.确认一下密码,完成对秘钥的生成
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
4.生成完毕,验证一下SSH秘钥是否可用
eval "$(ssh-agent -s)
5.将SSH秘钥写入文件中
$ ssh-add ~/.ssh/id_rsa
6.现在id_rsa.pub文件中就已经存在了SSH,复制出来即可,方法上面有哦。
文件上传
上传方式
- Xcode上传
- 终端命令行上传
在GitHub中创建项目
点击+New repository
并完成对项目的注解,Create repository
即可
这时也就会出现一个秘钥链接,通过这个链接完成对本地SSH秘钥的核对,从而完成上传,如图,这里就调皮了,使用的时候复制一下即可
Xcode上传
1.完成代码后首先配置一下远程,配置位置如下:
2.选择Remotes
,左下角有一个+
,接着Add Remote
3.此时的Address就是之前创建项目的那个SSH链接,复制过来Add Remote
就完工啦.
4.每次提交前记得Commit
一下,Xcode上的Commit
也在Source Control
中,意思是将修改的变化存到本地。下面可以写备注,比如修改了XX
5.为了避免冲突,除了第一次上传,其他时候都要记得Pull
一下,再点击Push
.会弹出下面的框,验证方式选择SSH Keys即可
6.再来看GitHub,上传成功!
命令行上传
将项目文件拖到终端
1.添加远程
//在终端输入命令行
git remote add origin ‘SSH的那个链接‘
2.Commit保存一下,“”里面随便填
git commit -m "第一次提交"
3.Push上去即可
git push -u origin master
//如果代码,表示push完成
RunIntoLoveMacBook-Pro:GitHubTest-Terminal.xcodeproj yuewen$ git push -u origin master
Counting objects: 9, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (9/9), 1.49 KiB | 0 bytes/s, done.
Total 9 (delta 4), reused 0 (delta 0)
To [email protected].com:YRunIntoLove/GitHubTest.git
0610732..90508d7 master -> master
Branch master set up to track remote branch master from origin.
RunIntoLoveMacBook-Pro:GitHubTest-Terminal.xcodeproj yuewen$
4.再来看看GitHub,上传成功!
GitHub Push出现The local repository is out of date
如果出现这个问题,可以去之前写的博客解决一下GitHub Push出现的The local repository is out of date解决,祝顺利.