Git 是一个优秀的版本控制工具,用于管理项目,但对于新手来说可能难以学习。除非您熟悉标志和选项以及使用它们的适当情况,否则很难从 Git 命令行工作。这可能会让人感到沮丧,并导致人们的使用非常有限。
幸运的是,当今大多数集成开发环境 (IDE) 都包含 Git 扩展,这使得使用 Git 变得容易得多。 Emacs 中可用的一个这样的 Git 扩展称为 Magit。
Magit 项目已经存在 10 年了,它将自己定义为“Emacs 内部的 Git porcelain”。换句话说,它是一个界面,每个操作都可以通过按键来管理。本文将引导您了解 Magit 界面,并解释如何使用它来管理 Git 项目。
如果您尚未安装,请安装 Emacs,然后在继续学习本教程之前安装 Magit。
Magit 的界面
首先访问 Emacs Dired 模式下的项目目录。例如,我的所有 Emacs 配置都存储在 ~/.emacs.d/ 目录中,该目录由 Git 管理。

如果您从命令行工作,您将输入 git status 来查找项目的当前状态。 Magit 具有类似的功能:magit-status。您可以使用 M-x magit-status(Alt+x magit-status 快捷键)调用此函数。您的结果将如下所示

Magit 显示的信息比 git status 命令提供的多得多。它显示了未跟踪文件、未暂存文件和已暂存文件的列表。它还显示了暂存列表和最近的提交——所有这些都在一个窗口中。
如果您想知道发生了什么变化,请使用 Tab 键。例如,如果我将光标移动到未暂存文件 custom_functions.org 上并按下 Tab 键,Magit 将显示更改

这类似于使用命令 git diff custom_functions.org。暂存文件甚至更容易。只需将光标移动到文件上并按 s 键。该文件将快速移动到已暂存文件列表

要取消暂存文件,请使用 u 键。使用 s 和 u 比在命令行中输入 git add -u <file> 和 git reset HEAD <file> 更快捷有趣。
提交更改
在同一个 Magit 窗口中,按 c 键将显示一个提交窗口,该窗口提供诸如 --all(暂存所有文件)或 --signoff(向提交消息添加签名行)之类的标志。

将光标移动到您要启用签名标志的行,然后按 Enter 键。这将突出显示 --signoff 文本,这表明该标志已启用。

再次按 c 将显示写入提交消息的窗口。

最后,使用 C-c C-c(Ctrl+cc 快捷键)提交更改。

推送更改
一旦更改被提交,提交行将出现在 Recent commits 部分。

将光标放在该提交上,然后按 p 以推送更改。
如果您想了解使用 Magit 的感觉,我上传了一个 YouTube 演示。我在本文中只触及了皮毛。它具有许多很酷的功能,可以帮助您处理 Git 分支、变基等等。您可以从 Magit 的主页找到文档、支持和更多信息。
2 条评论