1. 程式人生 > >Git學習0基礎篇(下)

Git學習0基礎篇(下)

擴展 創建 不同 sheet id_rsa con 簡單 托管 讀取數據

server上的 Git - 協議

Git能夠使用四種基本的協議傳輸資料:本地協議(Local)、HTTP 協議、SSH(Secure Shell) 協議以及 Git 協議。眼下使用最普及的是 SSH 協議和 HTTP 協議。


本地協議

本地協議的長處是簡單,缺點是不方便從多個位置訪問。
克隆一個本地版本號庫,能夠運行例如以下命令:

$ git clone /opt/git/project.git

$ git clone file:///opt/git/project.git


HTTP 協議

該協議的長處是:不同的訪問方式僅僅須要一個 URL 以及server僅僅在須要授權時提示輸入授權信息。這兩個簡便性讓終端用戶使用 Git 變得非常easy。

缺點是:在一些server上。架設 HTTP/S 協議的服務端會比 SSH 協議的棘手一些。


SSH 協議

SSH 協議的長處是:架設簡單、訪問安全、傳輸高效。缺點是:不能通過它匿名訪問,即便僅僅要讀取數據,使用者也要有通過 SSH 訪問你的主機的權限,這使得 SSH 協議不利於開源的項目。

通過 SSH 協議克隆版本號庫的命令:

$ git clone ssh://user@server/project.git

$ git clone user@server:project.git


Git 協議

眼下,Git 協議是 Git 使用的網絡傳輸協議裏最快的。Git 協議缺點是缺乏授權機制。


server上的 Git - 生成 SSH 公鑰

為了向 Git server提供 SSH 公鑰,假設某系統用戶尚未擁有密鑰。必須事先為其生成一份。

高速確認自己是否已擁有密鑰:

$ cd ~/.ssh

$ ls

查看是否有一對以 id_dsa 或 id_rsa 命名的文件,當中一個帶有 .pub 擴展名。

.pub 文件是你的公鑰,還有一個則是私鑰。

假設沒有密鑰,能夠用例如以下命令生成:

$ ssh-keygen

關於在多種操作系統中生成 SSH 密鑰的更深入教程,請參閱 GitHub 的 SSH 密鑰指南 https://help.github.com/articles/generating-ssh-keys。


GitHub - 賬戶的創建和配置

GitHub 是最大的 Git 版本號庫托管商。是成千上萬的開發人員和項目能夠合作進行的中心。

大部分 Git 版本號庫都托管在 GitHub,非常多開源項目使用 GitHub 實現 Git 托管、問題追蹤、代碼審查以及其他事情。


賬戶的創建和配置

首先去 https://github.com 站點註冊賬號。
其次將生成的 SSH 密鑰加入到新申請的賬號裏。


GitHub - 對項目做出貢獻


派生( Fork )項目

假設你想要參與某個項目,可是並沒有推送權限,這時能夠對這個項目進行“派生”。 派生的意思是指,GitHub 將在你的空間中創建一個全然屬於你的項目副本,且你對其具有推送權限。


GitHub流程

GitHub 設計了一個以合並請求為中心的特殊合作流程。


流程通常例如以下:

  1. 從 master 分支中創建一個新分支

  2. 提交一些改動來改進項目

  3. 將這個分支推送到 GitHub 上

  4. 創建一個合並請求

  5. 討論。依據實際情況繼續改動

  6. 項目的擁有者合並或關閉你的合並請求

Git學習0基礎篇(下)