Git系列(五):三個Git圖形化工具
在本文里,我們來了解幾個能幫你在日常工作中舒服地用上 Git 的工具。
我是在這許多漂亮界面出來之前學習的 Git,而且我的日常工作經(jīng)常是基于字符界面的,所以 Git 本身自帶的大部分功能已經(jīng)足夠我用了。在我看來,***能理解 Git 的工作原理。不過,能有的選也不錯,下面這些就是能讓你不用終端就可以開始使用 Git 的一些方式。
KDE Dolphin 里的 Git
我是一個 KDE 用戶,如果不在 Plasma 桌面環(huán)境下,就是在 Fluxbox 的應(yīng)用層。Dolphin 是一個非常優(yōu)秀的文件管理器,有很多配置項以及大量秘密小功能。大家為它開發(fā)的插件都特別好用,其中一個幾乎就是完整的 Git 界面。是的,你可以直接在自己的桌面上很方便地管理你的 Git 倉庫。
但首先,你得先確認已經(jīng)安裝了這個插件。有些發(fā)行版帶的 KDE 將各種插件都裝的滿滿的,而有些只裝了一些最基本的,所以如果你在下面的步驟里沒有看到 Git 相關(guān)選項,就在你的軟件倉庫里找找類似 dolphin-extras 或者 dolphin-plugins 的包。
要打開 Git 集成功能,在 Dolphin 的任一窗口里點擊 Settings 菜單,并選擇 Configure Dolphin。
在彈出的 Configure Dolphin 窗口里,點擊左邊側(cè)欄里的 Services 圖標。
在 Services 面板里,滾動可用的插件列表找到 Git。
(勾選上它,)然后保存你的改動并關(guān)閉 Dolphin 窗口。重新啟動 Dolphin,瀏覽一個 Git 倉庫試試看。你會發(fā)現(xiàn)現(xiàn)在所有文件圖標都帶有標記:綠色方框表示已經(jīng)提交的文件,綠色實心方塊表示文件有改動,沒加入庫里的文件沒有標記,等等。
之后你在 Git 倉庫目錄下點擊鼠標右鍵彈出的菜單里就會有 Git 選項了。你在 Dolphin 窗口里點擊鼠標就可以檢出一個版本,推送或提交改動,還可以對文件進行 git add 或 git remove 操作。
不過 Dolphin 不支持克隆倉庫或是改變遠端倉庫路徑,需要到終端窗口操作,按下 F4 就可以很方便地進行切換。
坦白地說,KDE 的這個功能太牛了,這篇文章已經(jīng)可以到此為止。將 Git 集成到原生文件管理器里可以讓 Git 操作非常清晰;不管你在工作流程的哪個階段,一切都能直接地擺在面前。在終端里 Git,切換到 GUI 后也是一樣 Git。***。
不過別急,還有好多呢!
Sparkleshare
SparkleShare 來自桌面環(huán)境的另一大陣營,由一些 GNOME 開發(fā)人員發(fā)起,一個使用文件同步模型 (“就像 Dropbox 一樣!”) 的項目。不過它并沒有集成任何 GNOME 特有的組件,所以你可以在任何平臺使用。
如果你在用 Linux,可以從你的軟件倉庫直接安裝 SparkleShare。如果是其它操作系統(tǒng),可以去 SparkleShare 網(wǎng)站下載。你可以不用看 SparkleShare 網(wǎng)站上的指引,那個是告訴你如何架設(shè) SparkleShare 服務(wù)器的,不是我們這里討論的。當然你想的話也可以架設(shè) SparkleShare 服務(wù)器,但是 SparkleShare 能兼容 Git 倉庫,所以其實沒必要再架一個自己的。
在安裝完成后,從應(yīng)用程序菜單里啟動 SparkleShare。走一遍設(shè)置向?qū)?,只有兩個步驟外加一個簡單介紹,然后可以選擇是否將 SparkleShare 設(shè)置為隨桌面自動啟動。
之后在你的系統(tǒng)托盤里會出現(xiàn)一個橙色的 SparkleShare 目錄。目前,SparkleShare 對你電腦上的任何東西都一無所知,所以你需要添加一個項目。
要添加一個目錄給 SparkleShare 追蹤,可以點擊系統(tǒng)托盤里的 SparkleShare 圖標然后選擇 Add Hosted Project。
SparkleShare 支持本地 Git 項目,也可以是存放在像 GitHub 和 Bitbucket 這樣的公共 Git 服務(wù)器上的項目。要獲得完整訪問權(quán)限,你可能會需要使用 SparkleShare 生成的客戶端 ID。這是一個 SSH 密鑰,作為你所用到服務(wù)的授權(quán)令牌,包括你自己的 Git 服務(wù)器,應(yīng)該也使用 SSH 公鑰認證而不是用戶名密碼。將客戶端 ID 拷貝到你服務(wù)器上 Git 用戶的 authorized_hosts 文件里,或者是你的 Git 主機的 SSH 密鑰面板里。
在配置要你要用的主機后,SparkleShare 會下載整個 Git 項目,包括(你可以自己選擇)提交歷史??梢栽?~/SparkleShare 目錄下找到同步完成的文件。
不像 Dolphin 那樣的集成方式,SparkleShare 是不透明的,讓人心里沒底。在你做出改動后,它會悄悄地把改動同步到服務(wù)器遠端項目中。對大部分人來說,這樣做有一個很大的好處:可以用到 Git 的全部威力但是不用維護。對我來說,這樣有些亂,因為我想自己管理我的提交以及要用的分支。
SparkleShare 可能不適合所有人,但是它是一個強大而且簡單的 Git 解決方案,展示了不同的開源項目***地協(xié)調(diào)整合到一起后所創(chuàng)造出的獨特項目。
Git-cola
另一種配合 Git 倉庫工作的模型,沒那么原生,更多的是監(jiān)視方式;不是使用一個集成的應(yīng)用程序和你的 Git 項目直接交互,而是你可以使用一個桌面客戶端來監(jiān)視項目改動,并隨意處理每一個改動。這種方式的一個優(yōu)勢就是專注。當你實際只用到項目里的三個文件的時候,你可能不會關(guān)心所有的 125 個文件,能將這三個文件挑出來就很方便了。
如果你覺得有好多 Git 托管網(wǎng)站,那只是你還不知道 Git 客戶端有多少。桌面上的 Git 客戶端 上有一大把。實際上,Git 默認自帶一個圖形客戶端。它們中最跨平臺、最可配置的就是開源的 Git-cola 客戶端,用 Python 和 Qt 寫的。
如果你在用 Linux,Git-cola 應(yīng)該在你的軟件倉庫里就有。不是的話,可以直接從它的網(wǎng)站下載并安裝:
- $ python setup.py install
啟動 git-cola 后,會有三個按鈕用來打開倉庫,創(chuàng)建新倉庫,或克隆倉庫。
不管選哪個,最終都會停在一個 Git 倉庫中。和大多數(shù)我用過的客戶端一樣,Git-cola 不會嘗試成為你的倉庫的接口;它們一般會讓操作系統(tǒng)工具來做這個。換句話說,我可以通過 Git-cola 創(chuàng)建一個倉庫,但隨后我就在 Thunar 或 Emacs 里打開倉庫開始工作。打開 Git-cola 來監(jiān)視倉庫很不錯,因為當你創(chuàng)建新文件,或者改動文件的時候,它們都會出現(xiàn)在 Git-cola 的狀態(tài)面板里。
Git-cola 的默認布局不是線性的。我喜歡從左向右分布,因為 Git-cola 是高度可配置的,所以你可以隨便修改布局。我自己設(shè)置成最左邊是狀態(tài)面板,顯示當前分支的任何改動,然后右邊是差異面板,可以瀏覽當前改動,然后是動作面板,放一些常用任務(wù)的快速按鈕,***,最右邊是提交面板,可以寫提交信息。
不管怎么改布局,下面是 Git-cola 的通用流程:
改動會出現(xiàn)在狀態(tài)面板里。右鍵點擊一個改動或選中一個文件,然后在動作面板里點擊 Stage 按鈕來將文件加入待提交暫存區(qū)。
待提交文件的圖標會變成綠色三角形,表示該文件有改動并且正等待提交。你也可以右鍵點擊并選擇 Unstage Selected 將改動移出待提交暫存區(qū),或者點擊動作面板里的 Unstage 按鈕。
在差異面板里檢查你的改動。
當準備好提交后,輸入提交信息并點擊 Commit 按鈕。
在動作面板里還有其它按鈕用來處理其它普通任務(wù),比如拉取或推送。菜單里有更多的任務(wù)列表,比如用于操作分支,改動審查,變基等等的專用操作。
我更愿意將 Git-cola 當作文件管理器的一個浮動面板(在不能用 Dolphin 的時候我只用 Git-cola)。雖然它的交互性沒有完全集成 Git 的文件管理器那么強,但另一方面,它幾乎提供了原始 Git 命令的所有功能,所以它實際上更為強大。
有很多 Git 圖形客戶端。有些是不提供源代碼的付費軟件,有些只是用來查看,有些嘗試加入新的特定術(shù)語(用 "sync" 替代 "push" ...?) 來重造 Git,也有一些只適合特定的平臺。Git-cola 一直是能在任意平臺上使用的最簡單的客戶端,也是最貼近純粹 Git 命令的,可以讓用戶在使用過程中學習 Git,即便是高手也會很滿意它的界面和術(shù)語。
Git 命令還是圖形界面?
我一般不用圖形工具來操作 Git;一般我使用上面介紹的工具時,只是幫助其他人找出適合他們的界面。不過,最終歸結(jié)于怎么適合你的工作。我喜歡基于終端的 Git 命令是因為它可以很好地集成到 Emacs 里,但如果某天我?guī)缀醵荚谟?Inkscape 工作時,我一般會很自然地使用 Dolphin 里帶的 Git,因為我在 Dolphin 環(huán)境里。
如何使用 Git 你可以自己選擇;但要記住 Git 是一種讓生活更輕松的方式,也是讓你在工作中更安全地嘗試一些瘋狂點子的方法。熟悉 Git 的工作模式,然后不管以什么方式使用 Git,只要能讓你覺得最適合就可以。
在下一期文章里,我們將了解如何架設(shè)和管理 Git 服務(wù)器,包括用戶權(quán)限和管理,以及運行定制腳本。