99V久久综合狠狠综合久久|久久se无码精品一区二区|99国产精美欧美一区二区|久久99国产精品亚洲

Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)!

2020-11-19 09:48:43  閱讀:-  來源:

本文目錄結(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ù)


Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

  • 創(chuàng)建倉(cāng)庫(kù)時(shí)的填寫內(nèi)容
  • Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

  • 創(chuàng)建完成
  • Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

  • clone地址:
  • Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)


    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    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)容,但為了方便記憶,一般都填寫郵箱。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ②:選擇密匙文件保存位置

    會(huì)生成兩個(gè)文件 id_rsa和id_rsa.pub

    默認(rèn)路徑是:/c/Users/iskyl/.ssh/

    其中iskyl是我的windows10 用戶名。

    如果默認(rèn)就直接回車。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ③:輸入密匙密碼,直接回車代表不設(shè)置。

    如果電腦只可能你自己使用,那不設(shè)置操作更方便,不然每次提交都輸入秘鑰的密碼,很煩人。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)


    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ④:生成秘鑰的地址

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑤:查看公鑰的內(nèi)容,這個(gè)需要復(fù)制,設(shè)置到github中。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    4、將公鑰設(shè)置到GitHub中

    ①:點(diǎn)擊 頭像的下拉菜單的Settings,進(jìn)入設(shè)置頁(yè)面

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ②:點(diǎn)擊 New SSH Key,新增公鑰

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ③:設(shè)置公鑰,名字隨便,當(dāng)有多個(gè)時(shí),能知道代表含義就可以。key中內(nèi)容就是生成的id_rsa.pub內(nèi)容完全復(fù)制過來的。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    保存之后的列表顯示:

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ④:驗(yàn)證公鑰連接。

    ssh -T git@github.com

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    連接成功,會(huì)生成known_hosts文件,并且將github.com連接的ip,通信公鑰等內(nèi)容加入到文件中。作為信任列表。

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    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

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ②:建立項(xiàng)目git倉(cāng)庫(kù) git init . (注意最后的點(diǎn) .)執(zhí)行后 項(xiàng)目目錄下回新增 .git文件夾

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ③:添加文件到暫存區(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ì)失敗,稍后說明解決辦法。)

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ④:插播:設(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)目生效)

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    查看設(shè)置結(jié)果 git config --list

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑤:提交到本地倉(cāng)庫(kù)

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑥:設(shè)置 remote :origin是名稱,后面是git遠(yuǎn)程倉(cāng)庫(kù)地址,當(dāng)前是ssh的.git地址

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑦:拉取遠(yuǎn)程倉(cāng)庫(kù)的代碼到本地(先拉取代碼、編輯沖突,然后才提交全部代碼)

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑧:異常及解決方式:

    • 異常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:文件沖突
    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑨:提交到遠(yuǎn)程倉(cāng)庫(kù)

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    ⑩:查看GitHub提交記錄

    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)


    Git使用SSH方式上傳本地項(xiàng)目到GitHub倉(cāng)庫(kù)(win10)

    OVER!

    日土县| 安国市| 什邡市| 云林县| 琼中| 乌拉特后旗| 大洼县| 夏津县| 舒城县| 桂阳县| 阿勒泰市| 耿马| 嘉祥县| 奈曼旗| 抚顺县| 江陵县| 长春市| 灌南县| 黄梅县| 井陉县| 澄迈县| 环江| 舒兰市| 彭水| 西华县| 德州市| 石狮市| 来凤县| 会昌县| 桦川县| 共和县| 鄂尔多斯市| 郎溪县| 临邑县| 台中市| 枣庄市| 行唐县| 沅陵县| 盐津县| 永安市| 金川县|