Linux中國

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

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

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

KDE Dolphin 里的 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

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-cola

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

如果你覺得有好多 Git 託管網站,那只是你還不知道 Git 客戶端有多少。桌面上的 Git 客戶端 上有一大把。實際上,Git 默認自帶一個圖形客戶端。它們中最跨平台、最可配置的就是開源的 Git-cola 客戶端,用 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;一般我使用上面介紹的工具時,只是幫助其他人找出適合他們的界面。不過,最終歸結於怎麼適合你的工作。我喜歡基於終端的 Git 命令是因為它可以很好地集成到 Emacs 里,但如果某天我幾乎都在用 Inkscape 工作時,我一般會很自然地使用 Dolphin 裡帶的 Git,因為我在 Dolphin 環境里。

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

在下一期文章里,我們將了解如何架設和管理 Git 伺服器,包括用戶許可權和管理,以及運行定製腳本。

via: https://opensource.com/life/16/8/graphical-tools-git

作者:Seth Kenlon 譯者:zpl1025 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國