GUI: (圖形使用者介面), 簡單來說就是以圖形畫面來操作git的檔案庫, 就比較不會用到下指令的操作了! 就像Windows環境一樣, 幾乎只要用滑鼠操作點點控制就可以了!
目前有幾種GUI程式, 除了本身Git GUI , 還有SmartGit / SourceTree /TortoiseGit, 這裡只簡單介紹Git GUI / 和SourceTree二種!
Git GUI
下圖為Git GUI,
$git gui //也可以從git bash環境中直接下指令執行, 或是從windows環境中的程式集中找出來.
Create New Repository –> 和git init 指令一樣作用.
Clone Existing Repository–> 複製已經存在的專案中, 而且已經有git檔案庫.
Open Existing Repository–>開啟已經有git檔案庫的專案.
下圖為已開啟上一篇文章中建立的專案(android_app),當Android Studio環境中再多做任何改變時, 在Git GUI中會顯示如下變化, 可以透過底圖視窗中的[Rescan]按鈕或是按下F5,來了解目前Git檔案庫是否有任何變動. 它就像是下指令$git status,可以得知目前情形, 然後再把變動情形加入索引區(Stage), 選擇Stage Changed按鈕,就存入索引區了.
-Rescan
–Stage Changed
最後在Commit message視窗中加入註解, 再選擇功能表上的Commit/Commit,就完成推送到git檔案庫中了或是直接按下Commit按鈕.
在git bash環境中, 就需要下列幾行指令來能達成.
$git status //這一行指令不是必要的, 只是確認是否有untracked files而已.
$git add .
$git commmit -m ‘XXXX’
利用Git GUI程式可以很清楚目前git檔案庫的情形, 很單純就只是把幾個指令功能結合成一個可以執行的動作, 簡化去手動下指令以及繁雜的操作.
在功能表Repository/Visualize All Branch History執行後, 就會另開一個視窗,可以看到目前所有分支的情形,就像git bash下使用下列指令一樣.
$gitk -all & // ‘&’是表示在背景畫面中執行, 避免開啟GUI之後, 無法再操作git bash環境.
其他各別功能也大都是結合數個git的指令而成的單一個功能.這裡就不多加說明.
SourceTree
安裝此程式, 可能需要一個帳號,所以可以隨意取任何名稱建立一個, 或是Log in with Google綁定Google帳號也可以,或其他相關帳號.
以下為SourceTree的一開始畫面.
選點Create來建立一個git檔案庫管理. 把路徑指到上一篇所建立的android_app目錄下,然後按下Create按鈕.
此時就可以顯示到目前所有節點的記錄了,
點選功能表[Branch],這裡再建立一個新的分支名稱-“three-for-new-functions”,然後Create Branch就可以了.
在Android Studio環境中, 新分支上再增加一個功能, 此時回到SourceTree環境中, 程式會自動立即更新狀態, 會顯示一個Uncommitted changes, 此時按下Stage All按鈕, 就可以存到Stage(索引區)
然後選擇功能表中Commit,輸入目前工作的狀態註解, 再按下Commit按鈕就完成推進到git檔案庫中了.
這裡就可以看到目前在”three-for-new-functions’分支上, 有一個最新的節點註解.
由於開發專案時, 難免會有遇到一些問題, 就會想說回到之前版本做實驗找出問題點, 或是再重新修改或是擴充功能..等等,所以利用checkout功能可以切換想要更改的版本, 下圖為, 點選第4個節點, 藍色框所標示的地方,然後按右鍵,選擇Checkout,
再次回到Android Studio工作環境中, 就可以發現原先加入的幾個新功能都消失了, 而回到選取節點時的狀態了, 但它並沒有完全消失, 如果再次用checkout功能, 選擇最新的節點, 原本的功能依然會再重新出現的.
到目前為主, 只示範最簡易的使用SourceTree的功能, 它還是有更多好用的功能, 像是做遠端存取GitHub的功能, 把開發專案存放在專屬管理Git的網站, 利用帳號的登入, 可以讓更多人同時開發同一個專案,而且彼此不會影響,以及架設Git Server私人用的, 這些就不多做描述, 相信利用Google強大的搜尋功能, 可以找到更多教學內容!
總結:
Git這套程式用來管理專案版本的控管是擁有非常強大的功能,當然它只是其中之一, 如果沒有一些寫程式的基礎,相信學這個也是會有些辛苦, 但透過這三篇文章的呈現, 多少也有些簡易觀念的幫助, 但還是要善加利用Google的搜尋, 才會對這方面內容有幫助, 更加深刻去產生興趣去學習了解!