文章出處

前面的話

  本文將主要介紹如何使用Github來托管Git服務

 

SSH

  大多數Git服務器都會選擇使用SSH公鑰來進行授權。系統中的每個用戶都必須提供一個公鑰用于授權

  首先先確認一下是否已經有一個公鑰了。SSH公鑰默認儲存在賬戶的主目錄下的~/.ssh目錄

  有.pub后綴的文件就是公鑰,另一個文件則是密鑰

  假如沒有這些文件,或者干脆連.ssh目錄都沒有,可以用ssh-keygen來創建

  現在,刪除.ssh目錄,對SSH重新生成

  下面使用ssh-keygen命令來創建SSH,這里需要把郵件地址換成自己的郵件地址,然后一路回車,使用默認值即可,由于這個Key也不是用于軍事目的,所以也無需設置密碼

  如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsaid_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人

  SSH的公鑰如下所示:

  接下來,登陸GitHub,打開“Settings”,“SSH Keys”頁面

  然后,點“New SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容

  點擊"Add SSH key"按鈕后,結果如下所示:

  為什么GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送

  當然,GitHub允許你添加多個Key。假定你有若干電腦,一會兒在公司提交,一會兒在家里提交,只要把每臺電腦的Key都添加到GitHub,就可以在每臺電腦上往GitHub推送了

  在GitHub上托管的Git倉庫,任何人都可以看到,但是只有你自己才能修改。所以,不要把敏感信息放進去

 

添加本地庫

  下面添加一個名稱為'mygit'的本地庫,工作目錄下有一個名稱為'a.txt'的文件,其內容是'111',并被提交

 

添加遠程庫

  現在的情景是,你已經在本地創建了一個Git倉庫后,又想在GitHub創建一個Git倉庫,并且讓這兩個倉庫進行遠程同步,這樣,GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作

  下面要建立一個名稱為'learngit'的倉庫,由于事先已經添加過了。所以,先把其刪除

  進入'learngit'的倉庫界面,找到'Settings'按鈕

  在頁面最下方,找到'Delete this repository'按鈕

  點擊該按鈕后,輸入要刪除的倉庫名稱,點擊'I understand the consequences, delete this reposiytory'按鈕即可刪除

  接下來,重新添加名稱為'learngit'的倉庫。點擊右上角'+'號彈出的'New repository'

  輸入倉庫名稱Repository name為'learngit',倉庫介紹Description為'learn git',點擊'Create repository'按鈕,即可添加成功

  添加成功后,彈出如下界面。目前,在GitHub上的這個'learngit'倉庫還是空的,GitHub告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到GitHub倉庫

  接下來,需要對遠程庫'learngit'和本地庫'mygit'進行關聯

$ git remote add origin git@github.com:【GitHub帳號名】/【遠程庫的名稱】.git

  添加后,遠程庫的名字就是origin,這是Git默認的叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫

  如果已經進行了關聯,或者關聯錯了,則需要先刪除關聯

$ git remote rm origin

  刪除后,重新添加關聯

  接下來,把本地庫'mygit'里的所有內容推送到遠程庫'learngit'中

  把本地庫的內容推送到遠程,用git push命令,實際上是把當前分支master推送到遠程

  由于遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送到遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令

  推送成功后,可以立刻在GitHub頁面中看到遠程庫的內容已經和本地一模一樣

  從現在起,只要本地作了提交,就可以通過以下命令,把本地master分支的最新修改推送至GitHub

$ git push origin master

 

克隆遠程庫

  前面我們介紹先有本地庫,后有遠程庫的情況。現在,假設我們從零開發,那么最好的方式是先創建遠程庫,然后,從遠程庫克隆

  首先,登陸GitHub,創建一個新的倉庫,名字叫gitskills

  勾選Initialize this repository with a README,這樣GitHub會自動為我們創建一個README.md文件。創建完畢后,可以看到README.md文件

  現在,遠程庫已經準備好了,下一步是用命令git clone克隆一個本地庫

$ git clone git@github.com:【GitHub用戶名】/【Github遠程庫名稱】.git

  在本地電腦的D盤新建一個名稱為'b'的目錄,然后將遠程庫克隆到本地

  此時,本地已經有gitskills目錄,在該目錄下已經有README.md文件了

  如果有多個人協作開發,那么每個人各自從遠程克隆一份就可以了


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()