Git 系列(五):三個 Git 圖形化工具

yzf01發表於2021-09-09

在本文裡,我們來了解幾個能幫你在日常工作中舒服地用上 Git 的工具。

我是在這許多漂亮介面出來之前學習的 Git,而且我的日常工作經常是基於字元介面的,所以 Git 本身自帶的大部分功能已經足夠我用了。在我看來,最好能理解 Git 的工作原理。不過,能有的選也不錯,下面這些就是能讓你不用終端就可以開始使用 Git 的一些方式。

我是一個 KDE 使用者,如果不在 Plasma 桌面環境下,就是在 Fluxbox 的應用層。Dolphin 是一個非常優秀的檔案管理器,有很多配置項以及大量秘密小功能。大家為它開發的外掛都特別好用,其中一個幾乎就是完整的 Git 介面。是的,你可以直接在自己的桌面上很方便地管理你的 Git 倉庫。

但首先,你得先確認已經安裝了這個外掛。有些發行版帶的 KDE 將各種外掛都裝的滿滿的,而有些只裝了一些最基本的,所以如果你在下面的步驟裡沒有看到 Git 相關選項,就在你的軟體倉庫裡找找類似 dolphin-extras 或者 dolphin-plugins 的包。

要開啟 Git 整合功能,在 Dolphin 的任一視窗裡點選 Settings 選單,並選擇 Configure Dolphin。

在彈出的 Configure Dolphin 視窗裡,點選左邊側欄裡的 Services 圖示。

在 Services 皮膚裡,滾動可用的外掛列表找到 Git。

圖片描述

(勾選上它,)然後儲存你的改動並關閉 Dolphin 視窗。重新啟動 Dolphin,瀏覽一個 Git 倉庫試試看。你會發現現在所有檔案圖示都帶有標記:綠色方框表示已經提交的檔案,綠色實心方塊表示檔案有改動,沒加入庫裡的檔案沒有標記,等等。

之後你在 Git 倉庫目錄下點選滑鼠右鍵彈出的選單裡就會有 Git 選項了。你在 Dolphin 視窗裡點選滑鼠就可以檢出一個版本,推送或提交改動,還可以對檔案進行 git addgit remove 操作。

圖片描述

不過 Dolphin 不支援克隆倉庫或是改變遠端倉庫路徑,需要到終端視窗操作,按下 F4 就可以很方便地進行切換。

坦白地說,KDE 的這個功能太牛了,這篇文章已經可以到此為止。將 Git 整合到原生檔案管理器裡可以讓 Git 操作非常清晰;不管你在工作流程的哪個階段,一切都能直接地擺在面前。在終端裡 Git,切換到 GUI 後也是一樣 Git。完美。

不過別急,還有好多呢!

SparkleShare 來自桌面環境的另一大陣營,由一些 GNOME 開發人員發起,一個使用檔案同步模型 (“就像 Dropbox 一樣!”) 的專案。不過它並沒有整合任何 GNOME 特有的元件,所以你可以在任何平臺使用。

如果你在用 Linux,可以從你的軟體倉庫直接安裝 SparkleShare。如果是其它作業系統,可以去 SparkleShare 網站下載。你可以不用看 SparkleShare 網站上的指引,那個是告訴你如何架設 SparkleShare 伺服器的,不是我們這裡討論的。當然你想的話也可以架設 SparkleShare 伺服器,但是 SparkleShare 能相容 Git 倉庫,所以其實沒必要再架一個自己的。

在安裝完成後,從應用程式選單裡啟動 SparkleShare。走一遍設定嚮導,只有兩個步驟外加一個簡單介紹,然後可以選擇是否將 SparkleShare 設定為隨桌面自動啟動。

圖片描述

之後在你的系統托盤裡會出現一個橙色的 SparkleShare 目錄。目前,SparkleShare 對你電腦上的任何東西都一無所知,所以你需要新增一個專案。

要新增一個目錄給 SparkleShare 追蹤,可以點選系統托盤裡的 SparkleShare 圖示然後選擇 Add Hosted Project。

圖片描述

SparkleShare 支援本地 Git 專案,也可以是存放在像 GitHub 和 Bitbucket 這樣的公共 Git 伺服器上的專案。要獲得完整訪問許可權,你可能會需要使用 SparkleShare 生成的客戶端 ID。這是一個 SSH 金鑰,作為你所用到服務的授權令牌,包括你自己的 Git 伺服器,應該也使用 SSH 公鑰認證而不是使用者名稱密碼。將客戶端 ID 複製到你伺服器上 Git 使用者的 authorized_hosts 檔案裡,或者是你的 Git 主機的 SSH 金鑰皮膚裡。

在配置要你要用的主機後,SparkleShare 會下載整個 Git 專案,包括(你可以自己選擇)提交歷史。可以在 ~/SparkleShare 目錄下找到同步完成的檔案。

不像 Dolphin 那樣的整合方式,SparkleShare 是不透明的,讓人心裡沒底。在你做出改動後,它會悄悄地把改動同步到伺服器遠端專案中。對大部分人來說,這樣做有一個很大的好處:可以用到 Git 的全部威力但是不用維護。對我來說,這樣有些亂,因為我想自己管理我的提交以及要用的分支。

SparkleShare 可能不適合所有人,但是它是一個強大而且簡單的 Git 解決方案,展示了不同的開源專案完美地協調整合到一起後所創造出的獨特專案。

另一種配合 Git 倉庫工作的模型,沒那麼原生,更多的是監視方式;不是使用一個整合的應用程式和你的 Git 專案直接互動,而是你可以使用一個桌面客戶端來監視專案改動,並隨意處理每一個改動。這種方式的一個優勢就是專注。當你實際只用到專案裡的三個檔案的時候,你可能不會關心所有的 125 個檔案,能將這三個檔案挑出來就很方便了。

如果你覺得有好多 Git 託管網站,那只是你還不知道 Git 客戶端有多少。 上有一大把。實際上,Git 預設自帶一個圖形客戶端。它們中最跨平臺、最可配置的就是開源的 客戶端,用 Python 和 Qt 寫的。

如果你在用 Linux,Git-cola 應該在你的軟體倉庫裡就有。不是的話,可以直接從它的並安裝:

$ python setup.py install

啟動 git-cola 後,會有三個按鈕用來開啟倉庫,建立新倉庫,或克隆倉庫。

不管選哪個,最終都會停在一個 Git 倉庫中。和大多數我用過的客戶端一樣,Git-cola 不會嘗試成為你的倉庫的介面;它們一般會讓作業系統工具來做這個。換句話說,我可以透過 Git-cola 建立一個倉庫,但隨後我就在 Thunar 或 Emacs 裡開啟倉庫開始工作。開啟 Git-cola 來監視倉庫很不錯,因為當你建立新檔案,或者改動檔案的時候,它們都會出現在 Git-cola 的狀態皮膚裡。

Git-cola 的預設佈局不是線性的。我喜歡從左向右分佈,因為 Git-cola 是高度可配置的,所以你可以隨便修改佈局。我自己設定成最左邊是狀態皮膚,顯示當前分支的任何改動,然後右邊是差異皮膚,可以瀏覽當前改動,然後是動作皮膚,放一些常用任務的快速按鈕,最後,最右邊是提交皮膚,可以寫提交資訊。

圖片描述

不管怎麼改佈局,下面是 Git-cola 的通用流程:

改動會出現在狀態皮膚裡。右鍵點選一個改動或選中一個檔案,然後在動作皮膚裡點選 Stage 按鈕來將檔案加入待提交暫存區。

待提交檔案的圖示會變成綠色三角形,表示該檔案有改動並且正等待提交。你也可以右鍵點選並選擇 Unstage Selected 將改動移出待提交暫存區,或者點選動作皮膚裡的 Unstage 按鈕。

在差異皮膚裡檢查你的改動。

當準備好提交後,輸入提交資訊並點選 Commit 按鈕。

在動作皮膚裡還有其它按鈕用來處理其它普通任務,比如拉取或推送。選單裡有更多的任務列表,比如用於操作分支,改動審查,變基等等的專用操作。

我更願意將 Git-cola 當作檔案管理器的一個浮動皮膚(在不能用 Dolphin 的時候我只用 Git-cola)。雖然它的互動性沒有完全整合 Git 的檔案管理器那麼強,但另一方面,它幾乎提供了原始 Git 命令的所有功能,所以它實際上更為強大。

有很多 Git 圖形客戶端。有些是不提供原始碼的付費軟體,有些只是用來檢視,有些嘗試加入新的特定術語(用 "sync" 替代 "push" ...?) 來重造 Git,也有一些只適合特定的平臺。Git-cola 一直是能在任意平臺上使用的最簡單的客戶端,也是最貼近純粹 Git 命令的,可以讓使用者在使用過程中學習 Git,即便是高手也會很滿意它的介面和術語。

我一般不用圖形工具來操作 Git;一般我使用上面介紹的工具時,只是幫助其他人找出適合他們的介面。不過,最終歸結於怎麼適合你的工作。我喜歡基於終端的 Git 命令是因為它可以很好地整合到 Emacs 裡,但如果某天我幾乎都在用 Inkscape 工作時,我一般會很自然地使用 Dolphin 裡帶的 Git,因為我在 Dolphin 環境裡。

如何使用 Git 你自己可以選擇;但要記住 Git 是一種讓生活更輕鬆的方式,也是讓你在工作中更安全地嘗試一些瘋狂點子的方法。熟悉 Git 的工作模式,然後不管以什麼方式使用 Git,只要能讓你覺得最適合就可以。

在下一期文章裡,我們將瞭解如何架設和管理 Git 伺服器,包括使用者許可權和管理,以及執行定製指令碼。


譯文出處:  

via:

作者: 譯者: 校對:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2334/viewspace-2818332/,如需轉載,請註明出處,否則將追究法律責任。

相關文章