歡迎光臨
每天分享高質量文章

如何在 Emacs 中使用 Magit 管理 Git 專案 | Linux 中國

Emacs 的 Magit 擴充套件外掛使得使用 Git 進行版本控制變得簡單起來。

— Sachin Patil

 

Git[1] 是一個很棒的用於專案管理的 版本控制[2] 工具,就是新人學習起來太難。Git 的命令列工具很難用,你不僅需要熟悉它的標誌和選項,還需要知道什麼環境下使用它們。這使人望而生畏,因此不少人只會非常有限的幾個用法。

好在,現今大多數的整合開發環境 (IDE) 都包含了 Git 擴充套件,大大地簡化了使用使用的難度。Emacs 中就有這麼一款 Git 副檔名叫 Magit[3]

Magit 專案成立有差不多 10 年了,它將自己定義為 “一件 Emacs 內的 Git 瓷器”。也就是說,它是一個操作介面,每個操作都能一鍵完成。本文會帶你領略一下 Magit 的操作介面並告訴你如何使用它來管理 Git 專案。

若你還沒有做,請在開始本教程之前先 安裝 Emacs[4],再 安裝 Magit[5]

Magit 的介面

首先用 Emacs 的 Dired 樣式[6] 訪問一個專案的目錄。比如我所有的 Emacs 配置儲存在 ~/.emacs.d/ 目錄中,就是用 Git 來進行管理的。

若你在命令列下工作,則你需要輸入 git status 來檢視專案的當前狀態。Magit 也有類似的功能:magit-status。你可以透過 M-x magit-status (快捷方式是 Alt+x magit-status )來呼叫該功能。結果看起來像下麵這樣:

Magit 顯示的資訊比 git status 命令的要多得多。它分別列出了未追蹤檔案串列、未暫存檔案串列以及已暫存檔案串列。它還列出了儲藏stash串列以及最近幾次的提交 —— 所有這些資訊都在一個視窗中展示。

如果你想檢視修改了哪些內容,按下 Tab 鍵。比如,我移動游標到未暫存的檔案 custom_functions.org 上,然後按下 Tab 鍵,Magit 會顯示修改了哪些內容:

這跟執行命令 git diff custom_functions.org 類似。儲藏檔案更簡單。只需要移動游標到檔案上然後按下 s 鍵。該檔案就會迅速移動到已儲藏檔案串列中:

反儲藏unstage某個檔案,使用 u 鍵。按下 s 和 u 鍵要比在命令列輸入 git add -u  和 git reset HEAD  快的多也更有趣的多。

提交更改

在同一個 Magit 視窗中,按下 c 鍵會顯示一個提交視窗,其中提供了許多標誌,比如 --all用來暫存所有檔案或者 --signoff 來往提交資訊中新增簽名行。

將游標移動到想要啟用簽名標誌的行,然後按下回車。--signoff 文字會變成高亮,這說明該標誌已經被啟用。

再次按下 c 鍵會顯示一個視窗供你輸入提交資訊。

最後,使用 C-c C-c(按鍵 Ctrl+cc 的縮寫形式) 來提交更改。

推送更改

更改提交後,提交行將會顯示在 Recent commits 區域中顯示。

將游標放到該提交處然後按下 p 來推送該變更。

若你想感受一下使用 Magit 的感覺,我已經在 YouTube 上傳了一段 演示[7]。本文只涉及到 Magit 的一點皮毛。它有許多超酷的功能可以幫你使用 Git 分支、變基等功能。你可以在 Magit 的主頁上找到 檔案、支援,以及更多[8] 的連結。

贊(0)

分享創造快樂