使用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.確認一下密碼,(補充一下,這裏可能誤導了一部分朋友,這個密碼是與上面郵箱匹配的,一般來講就是Github的密碼呢0.0),完成對祕鑰的生成
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 git@github.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解決,祝順利.