GitKraken使用教程-基礎部分(3)

5. 克隆服務器上的項目

首先,返回主界面,點擊File => Clone Repo,選擇 Clone with URL,以下圖:javascript

圖 5‑1 SSH方式克隆倉庫界面html

1) SSH 方式鏈接倉庫

SSH 方式的Clone步驟:java

  1. 點擊   右側的 按鈕,打開文檔對話框,選擇存放代碼的本地目錄;
  2. 填寫服務器URL路徑(倉庫)以 服務器上的路徑 /src/Test.git 爲例,經過SSH方式鏈接到服務器上的倉庫。
  3. URL填寫 ssh://git@192.168.0.155/src/Test.git,將會以SSH方式鏈接服務器並克隆 Test倉庫,代碼存放在本地的 G:\18up\test 目錄中。程序會自動爲你建立一個子目錄
  4. 點擊綠色按鈕 ,克隆完成後在程序頂部會出現一些提示,以下圖:

    圖 5‑2 完成倉庫克隆git

點擊 Open Now 就會打開剛剛克隆到本地的倉庫,點擊OK則會確認該提示,但不執行操做。web

2) 在服務器中查找連接

若是不知道服務器中倉庫的位置,在瀏覽器中填寫 192.168.0.155 並跳轉。會出現如下界面:瀏覽器

 

   圖 5‑3 網頁上的倉庫信息服務器

找到想要clone的倉庫,複製對應行的最右側的 Git 連接,並將該連接粘貼入程序的 URL 文本框中便可。app

3) SCP 方式鏈接倉庫

SCP 和 SSH 兩種方式的差異在於填寫的URL不一樣(即第2步開始,步驟會有所不一樣),以下圖:ssh

圖 5‑4 SCP方式克隆倉庫post

填寫的URL爲 192.168.0.155:/src/Test.git,與SSh方式有所不一樣。

按照第3步的步驟,點擊Clone按鈕,在程序頂部即會出現一些提示如圖 5‑5,點擊 便可下載服務器上倉庫的代碼。

若頂部出現後續選項,連續點擊相應的綠色按鈕(如:Open,   Initialize等)

 圖 5‑5 用給定的用戶名鏈接服務器

這裏咱們使用默認的git用戶便可。

克隆好服務器上的倉庫後,你還不能當即使用它來進行版本控制,有幾個重要的地方須要修改

鼠標移動到REMOTE樹狀圖下方的origin處,如圖 5‑6,

右鍵點擊該欄(或者點擊右側的下拉菜單欄按鈕),會出現如圖 5‑7示的下拉菜單:

圖 5‑6 鼠標移至遠程origin分支

圖 5‑7 點擊下拉菜單按鈕

使用SCP方式進行鏈接時須要注意:GitKraken程序(version3.5.0)有個bug,咱們須要手動修正它。點擊Edit origin 能夠看到相似圖 5‑8的界面:

圖 5‑8 編輯遠程分支URL

    若是編輯框內的 155: 和 src 之間缺乏斜槓的話,咱們就須要在「155:」後面添加一個斜槓「/」(若程序沒有這個bug就能夠跳過這一步),不然在Push和Pull時就會出現找不到遠程倉庫的錯誤。

4) 完成倉庫的克隆

當添加遠程倉庫而且成功拉取(pull)操做後,能夠看到如圖 5‑9的程序界面:

圖 5‑9 成功pull遠程倉庫後的界面

 

【附】

注:若直接使用 Gitweb 搭建 Git 服務器,那麼默認的倉庫列表是這樣的:

並無最後一列的 「Git 連接」,這一列是用 JavaScript 代碼生成的,這裏貼出用的 JS 代碼(未使用 JQuery)

 1 function gitLink() {
 2     var createTable = function(params) {
 3         // header
 4         var t = document.createElement( params.type );
 5         var tc = document.createElement( params.childType );
 6         tc.setAttribute( "class", params.class );
 7         tc.setAttribute( "id", params.childId );
 8 
 9         tc.innerHTML= params.text || "";
10         t.appendChild( tc );
11         return t;
12     }
13     
14     
15     var tables = document.getElementsByTagName("table");
16     var table = tables[0];
17     var tableRows = tables[0].children;
18     
19     var h1 = createTable( { type:"th", 
20         text: "Git 連接", 
21         class: "header", 
22         childType: "a",
23         childId: "headerLink"
24     } );
25     
26     tableRows[0].appendChild( h1 );
27     
28     for( var i = 1; i < tableRows.length; i++ ) {
29         // console.log( tableRows[i] );
30         var project = tableRows[i].children[0].children[0].innerHTML;
31         var linkName = "ssh://git@" + location.hostname + "/src/" + project;
32         var r = createTable( { type: "td", 
33             text: linkName, 
34             class: "list", 
35             childType: "a", 
36             childId: "gitlink"+i 
37         } );
38         tableRows[i].appendChild( r );
39     }
40 }
41 
42 document.onreadystatechange = function() {
43     if( document.readyState == "complete" ) {
44         gitLink();
45     }
46 }

將代碼保存成 js 文件(假設保存名爲 gitlink.js),放在 gitweb 目錄下的 static 目錄下面。

以本服務器爲例,gitlink.js 將被放在 /var/www/gitweb/static 目錄下

 

而後打開 gitweb 中的 gitweb.cgi 文件,搜索 javascript

 

如圖, 120 行和 4257 行的代碼是手動修改的,目的是爲了在生成的 HTML 頁面中引用 gitlink.js 文件。

而後打開瀏覽器,就能看到如下的內容:

若是不知道如何搭建 git 服務器,能夠參考這篇文章 lighttpd 與 gitweb 搭建服務器

 

下一節:GitKraken使用教程-基礎部分(4)

相關文章
相關標籤/搜索