Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)!
本文目錄結(jié)構(gòu):
- 本文適用場(chǎng)景
- 在GitHub創(chuàng)建倉(cāng)庫(kù)
- 設(shè)置ssh密匙
- 同步代碼
1.本文適用場(chǎng)景:
- Windows 10
- 本地已經(jīng)存在開發(fā)中項(xiàng)目 git-test,需要上傳到遠(yuǎn)程倉(cāng)庫(kù)
- git 已經(jīng)安裝好
- 遠(yuǎn)程倉(cāng)庫(kù)這里使用GitHub
2.在GitHub創(chuàng)建倉(cāng)庫(kù)
個(gè)人頭像下拉菜單中 打開 Your repositories,可以查看自己的倉(cāng)庫(kù)列表。
- 兩種創(chuàng)建新倉(cāng)庫(kù)的方法:
①:在倉(cāng)庫(kù)列表頁(yè)面點(diǎn)擊New按鈕可用創(chuàng)建新倉(cāng)庫(kù)。
②:在個(gè)人頭像左邊點(diǎn)擊 New repository也可以創(chuàng)建新倉(cāng)庫(kù)
3.生成SSH Key(生成 公鑰和私鑰)
①:打開Git Bash,在這里使用命令 ssh-keygen -t rsa -C "郵箱地址"
命令詳解如下:
ssh-keygen -t rsa -C “any comment can be here”
-t = 密鑰的類型(The type of the key to generate) ,這里參數(shù)值是 rsa
-C = 用于識(shí)別這個(gè)密鑰的注釋 ,可以是任何內(nèi)容(comment to identify the key)
雖然可以填寫任何內(nèi)容,但為了方便記憶,一般都填寫郵箱。
②:選擇密匙文件保存位置
會(huì)生成兩個(gè)文件 id_rsa和id_rsa.pub
默認(rèn)路徑是:/c/Users/iskyl/.ssh/
其中iskyl是我的windows10 用戶名。
如果默認(rèn)就直接回車。
③:輸入密匙密碼,直接回車代表不設(shè)置。
如果電腦只可能你自己使用,那不設(shè)置操作更方便,不然每次提交都輸入秘鑰的密碼,很煩人。
④:生成秘鑰的地址
⑤:查看公鑰的內(nèi)容,這個(gè)需要復(fù)制,設(shè)置到github中。
4、將公鑰設(shè)置到GitHub中
①:點(diǎn)擊 頭像的下拉菜單的Settings,進(jìn)入設(shè)置頁(yè)面
②:點(diǎn)擊 New SSH Key,新增公鑰
③:設(shè)置公鑰,名字隨便,當(dāng)有多個(gè)時(shí),能知道代表含義就可以。key中內(nèi)容就是生成的id_rsa.pub內(nèi)容完全復(fù)制過來的。
保存之后的列表顯示:
④:驗(yàn)證公鑰連接。
ssh -T git@github.com
連接成功,會(huì)生成known_hosts文件,并且將github.com連接的ip,通信公鑰等內(nèi)容加入到文件中。作為信任列表。
5. 上傳本地代碼。
以下步驟中有兩部分可能你不會(huì)遇到,所有有些內(nèi)容是因?yàn)榄h(huán)境,可以跳過,關(guān)鍵是知道原因,選擇執(zhí)行:
- git config --local設(shè)置email和name,如果之前電腦中使用設(shè)置過 git,或者設(shè)置過git config --global user.email或者name,就不會(huì)遇到步驟④的提示,也可以跳過設(shè)置。
- 如果遠(yuǎn)程github上面創(chuàng)建的倉(cāng)庫(kù)文件和本地文件不同,也就是沒有沖突,也就可以順利的git pull之后,順利git push,完成同步。也不會(huì)遇到文件沖突,解決沖突。
- 在設(shè)置好ssh key,能通信后,其實(shí)以下各個(gè)步驟就是為了完成代碼準(zhǔn)備好后提交:先建立本地倉(cāng)庫(kù)(git init);添加文件,提交到本地倉(cāng)庫(kù)(git add 和git commit);提交到遠(yuǎn)程倉(cāng)庫(kù)(git remote add、git pull、git push)。
①:在需要上傳的項(xiàng)目文件夾上面,右鍵打開Git Bash Here
②:建立項(xiàng)目git倉(cāng)庫(kù) git init . (注意最后的點(diǎn) .)執(zhí)行后 項(xiàng)目目錄下回新增 .git文件夾
③:添加文件到暫存區(qū) git add -A . (同樣注意最后的點(diǎn) .)含義是當(dāng)前文件夾的所有變化都提交到暫存區(qū)。
因?yàn)槲业捻?xiàng)目中有 .gitignore文件,設(shè)置了不需要提價(jià)的一些文件,所以會(huì)有 warning。
(注意:因?yàn)間ithub上創(chuàng)建倉(cāng)庫(kù)時(shí)我選擇了創(chuàng)建 .gitignore文件,所以會(huì)導(dǎo)致后續(xù)更新GitHub代碼步驟的文件沖突,并且自動(dòng)merge會(huì)失敗,稍后說明解決辦法。)
④:插播:設(shè)置提交時(shí)的 email和name,這個(gè)是顯示的提交人,所有人可見,非賬號(hào)(當(dāng)然也可以設(shè)置為github賬號(hào)郵箱)。
提示的是設(shè)置 global全局,但是我打算其他項(xiàng)目使用其他賬號(hào),比如公司內(nèi)部的倉(cāng)庫(kù)提交記錄顯示工號(hào)姓名。所以我使用的是 git config --local (--local參數(shù)表明設(shè)置只對(duì)本目錄項(xiàng)目生效)
查看設(shè)置結(jié)果 git config --list
⑤:提交到本地倉(cāng)庫(kù)
⑥:設(shè)置 remote :origin是名稱,后面是git遠(yuǎn)程倉(cāng)庫(kù)地址,當(dāng)前是ssh的.git地址
⑦:拉取遠(yuǎn)程倉(cāng)庫(kù)的代碼到本地(先拉取代碼、編輯沖突,然后才提交全部代碼)
⑧:異常及解決方式:
- 異常1:fatal: refusing to merge unrelated histories,本地和遠(yuǎn)程倉(cāng)庫(kù)歷史不一致。這個(gè)是因?yàn)樯弦徊?git pull,不是使用的git clone,但是這里不能使用 git clone,解決方式是 git pull 后面加參數(shù) --allow-unrelated-histories,完整命令:git pull origin master --allow-unrelated-histories
- 異常2:文件沖突
⑨:提交到遠(yuǎn)程倉(cāng)庫(kù)
⑩:查看GitHub提交記錄
OVER!

點(diǎn)擊排行榜
- 1美的冰箱暖心鮮啟年味節(jié),五重好禮迎喜
- 2長(zhǎng)沙兼職團(tuán)隊(duì)
- 3優(yōu)衣庫(kù)全新2020早秋新品上市 助力
- 4眾益?zhèn)髅脚c省展協(xié)聯(lián)合推動(dòng)會(huì)展行業(yè)融媒
- 5白群太貴黑群麻煩?聯(lián)想個(gè)人云存儲(chǔ),外
- 6不服跑個(gè)分?安卓手機(jī)性能測(cè)試工具科普
- 7雙模5G才是用戶最好的選擇,OPPO
- 8360殺毒軟件與統(tǒng)一操作系統(tǒng)UOS完
- 9AMD Ryzen+Vega現(xiàn)場(chǎng)展示
- 102020,寶寶帶我創(chuàng)業(yè)去