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


5. 克隆服務器上的項目

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

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

1) SSH 方式連接倉庫

SSH 方式的Clone步驟:

  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 完成倉庫克隆

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

2) 在服務器中查找鏈接

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

 

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

找到想要clone的倉庫,復制對應行的最右側的 Git 鏈接,並將該鏈接粘貼入程序的 URL 文本框中即可。

3) SCP 方式連接倉庫

SCP 和 SSH 兩種方式的差別在於填寫的URL不同(即第2步開始,步驟會有所不同),如下圖:

圖 5‑4 SCP方式克隆倉庫

填寫的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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM