Google Code Prettify

2015年2月28日 星期六

使用 TortoiseGit 連上 remote bare repository

大部份的 git 文件、書籍教的都是在命令列下進行版本控管,但是,這樣的使用方式絕對是無法被大多數的開發人員接受的! 這裡介紹一個好用的 client 軟體 - TortoiseGit,它就像 TortoiseSVN 一樣的好用 (用過 svn 的人都知道…)。

在使用 TortoiseGit 前,請確定你的電腦已經安裝好以下軟體:
  1. git
  2. TortoiseGit
接著再確定你已經依「ssh公錀認證登入」設定好你的環境,至於 remote bare repository 我們這裡是架設在 linux 上,架設的方法參考「建立一個集中控管的 git repository」,接下來的說明也會在這個環境下進行。
  • 設定 Credential
在檔案總管中按滑鼠右鍵,在跳出的選單中會看到「Git Setting」,點選後出現如下的視窗。


還記得在「建立一個 remote git bare repository」中,我們用 ssh clone remote repository 的資料到 local 時用的 url 嗎? 當時用的是 ssh://192.168.0.115/~/repo.git,當時有說明,ssh://192.168.0.115 是使用 ssh 連線進 linux 的方法,在這裡,如上圖所示,於「Git/Credential」中輸入相同的 url,再於 Username 處輸入要登入的帳號,然後按【Add new/Save】,這樣我們就可以使用這個帳號及 ssh 連線到  remote bare repository 了。
  • 設定 User Info
如下圖所示,輸入 Name、Email,這樣當我們 commit、push 時,git 會把這些資訊記錄在 log 裡。


  • clone remote bare repository
在 D 槽建立一個命名為 TEST 的目錄,在檔案總管中進到該目錄並按滑鼠右鍵,出現如下的選單。


繼擇「Git Clone」會出現如下視窗,於 URL 欄位,輸入我們要 clone 的 remote bare repository,於 Directory 欄位輸入一個 local 的目錄,clone 下來的檔案會放入該目錄,按下【OK】。






  • 新增檔案
在 D:\TEST\repo 目錄下,我們隨意新增一個檔案,如下,我們新增了一個 fourth.txt 的檔案。


現在我們要將它 commit 到 local repository 後,再 push 到 remote bare repository,如下,在該檔案上按滑鼠右鍵,出現如下的選單,選擇「Git Add」後按【OK】。


在於該檔案下按滑鼠右鍵,出現如下選單,選擇「Git Commit」,在接下來出現的對話視窗中的 Message 輸入一些說明文字後按【OK】,這樣我們就將這個檔案 commit 到 local repository 了!


接下來於該目錄的任意空白處按下滑鼠右鍵,選擇「Git Push」,將會跳出如下對視窗,於 Local 處輸入「master」,其實輸入任何名稱都可以,這是 branch 的名稱,一般來說,第一個 branch 我們會將它命名為 master。


至於上圖的 Remote 選單,一開始應該是空白,因為我們尚未指定在 remote repository 我們要使用那個 reference。所以,要先按【Manage】設定好 remote 端的 reference,如下圖,點選「Git/Remote」,然後於 Remote 欄位輸入 origin,這個名稱也不是規定的,只是習慣上第一個參照會取這個名稱,在 URL 欄位輸入  bare repository 的位置後按【確定】即會如上圖所示,然後按【OK】,就將 fourth.txt push 到 remote bare repository 了!


  • 瀏覽 repository 內容
可以 commit、push 後,delete、pull、fetch 等功能在按滑鼠右鍵出現的選單裡都有對應的選項,這裡就不多作說明,不過,大部份的人應該會有個疑問,要怎麼看 repository 裡的內容呢? 在滑鼠右鍵的選單中選擇「Git Repo-browser」,就會出現如下圖 repository 的內容。


上圖要特別注意的是紅框中的 HEAD,在 Git 中 HEAD 永遠指向目前這個 branch 的最新版本,所以視窗中顯示的那四個檔案正是目前 local repository 的最新內容。如果想看 remote bare repository 的最新內容呢? 點選左框中的「HEAD」,出現如下的視窗,藍框的部份是修改的歷程,綠框的部份是最後一項修改的檔案,如果要比對 local 和 remote 的差別,可以在檔名上 double click,即會出現比對的視窗,不過,我們可以再 click 紅框的 master 看一下 remote 的狀況。


點選 master 後出現如下視窗,右邊的選個項目第一個「headers/master」指向 local repository 目前的 master 這個 branch 的最新狀況,第二個「remotes/origin/HEAD」指向目前所選擇的 branch 的 remote 端最新狀況,第三個「remotes/origin/master」則指向 master 這個 branch 於 remote 端的最新狀況,因為在這裡只有一個 master branch,所以第二、三項是指向同一個地方。


問題是,我們想看的是有那些檔案及檔案的內容,該怎麼做呢? 於上圖右邊選單選擇我們要看的指標,例如,我們要看「heads/master」,就在這個項目上 double click,將會出現如下圖,該選項的所有版控歷程。這時候就可以任意選擇一個版本,在上面按右鍵選單中的「Browse repository」,就會出現該版本的所有檔案,要看檔案內容,再於檔案上 double click 即會出現檔案內容。


沒有留言:

張貼留言