阅读
- 第 1 部分:什么是 Git?
- 第 2 部分:Git 入门
- 第 3 部分:创建您的第一个 Git 仓库
- 第 4 部分:如何在 Git 中恢复旧版本文件
- 第 5 部分:3 个 Git 图形化工具
- 第 6 部分:如何构建您自己的 Git 服务器
- 第 7 部分:如何使用 Git 管理二进制大对象
在本文中,我们将了解一些便捷的附加组件,以帮助您将 Git 舒适地集成到您的日常工作流程中。
我学习 Git 的时候,许多这些花哨的界面还不存在,而且我的工作流程通常也是基于文本的,所以 Git 的大多数内置便利性对我来说都非常合适。在我看来,始终最好先了解 Git 的原生工作方式。但是,有选择总是好的,所以这里有一些在终端之外开始使用 Git 的方法。
KDE Dolphin 中的 Git
我是一名 KDE 用户,即使不总是在 Plasma 桌面环境中使用,也会在 Fluxbox 中使用 KDE 作为我的应用层。Dolphin 是一款出色的文件管理器,具有许多选项和大量不为人知的小功能。特别有用的是人们为其开发的所有插件,其中一个插件几乎是一个完整的 Git 界面。是的,您可以从舒适的桌面环境中原生管理您的 Git 仓库。
但首先,您需要确保已安装这些附加组件。某些发行版预装了功能齐全的 KDE,而另一些发行版只提供基本功能,因此如果您在接下来的几个步骤中没有看到 Git 选项,请在您的仓库中搜索类似 dolphin-extras 或 dolphin-plugins 的内容。
要激活 Git 集成,请转到任何 Dolphin 窗口中的 设置 菜单,然后选择 配置 Dolphin。
在 配置 Dolphin 窗口中,单击左侧列中的 服务 图标。
在 服务 面板中,滚动浏览可用插件列表,直到找到 Git。
保存您的更改并关闭 Dolphin 窗口。当您重新启动 Dolphin 时,导航到 Git 仓库并环顾四周。请注意,现在所有图标都有了标志:绿色框表示已提交的文件,实心绿色框表示已修改的文件,没有图标表示未跟踪的文件,依此类推。
当在 Git 仓库内调用时,您的右键单击菜单现在具有上下文相关的 Git 选项。您可以在 Dolphin 窗口内单击时启动检出、推送或拉取,甚至可以对文件执行 git add
或 git remove
操作。
您无法在 Dolphin 中克隆仓库或更改远程路径,但您需要切换到终端,只需按 F4 即可。
坦率地说,KDE 的这个功能非常酷 [原文如此],以至于这篇文章可以到此结束。Git 与您的原生文件管理器集成使 Git 的工作几乎是透明的;无论您处于流程的哪个阶段,您需要做的每件事都自动发生。终端中的 Git,以及当您切换到 GUI 时等待您的 Git。这真是完美。
但是等等,还有更多!
Sparkleshare
来自桌面领域的另一边是 SparkleShare,这是一个使用文件同步模型(“就像 Dropbox!”)的项目,由一些 GNOME 开发人员启动。它没有集成到 GNOME 的任何特定部分,因此您可以在所有平台上使用它。
如果您运行的是 Linux,请从您的软件仓库安装 SparkleShare。其他操作系统应从 SparkleShare 网站下载。您可以安全地忽略 SparkleShare 网站上的说明,这些说明是关于设置 SparkleShare 服务器 的,这不是我们在这里要做的。如果您愿意,您当然可以设置 SparkleShare 服务器,但 SparkleShare 与任何 Git 仓库兼容,因此您无需创建自己的服务器。
安装完成后,从您的应用程序菜单启动 SparkleShare。逐步完成设置向导,它包括两个步骤和一个简短的教程,并可选择将 SparkleShare 设置为桌面的启动项。
https://open-source.net.cn/sites/default/files/4_sparklesetup.jpg" title="创建 SparkleShare 账户。" typeof="foaf:Image" width="520" height="430">
橙色的 SparkleShare 目录现在位于您的系统托盘中。目前,SparkleShare 对您计算机上的任何内容都一无所知,因此您需要添加一个托管项目。
要添加 SparkleShare 要跟踪的目录,请单击系统托盘中的 SparkleShare 图标,然后选择 添加托管项目。
https://open-source.net.cn/sites/default/files/4_sparklehost.jpg" title="新的 SparkleShare 项目。" typeof="foaf:Image" width="530" height="380">
SparkleShare 可以与自托管的 Git 项目或托管在公共 Git 服务(如 GitHub 和 Bitbucket)上的项目一起使用。为了获得完全访问权限,您可能需要使用 SparkleShare 提供给您的客户端 ID。这是一个 SSH 密钥,充当您用于托管的服务的身份验证令牌,包括您自己的 Git 服务器,该服务器也应使用 SSH 公钥身份验证而不是密码登录。将客户端 ID 复制到服务器上 Git 用户的 authorized_hosts 文件中,或复制到 Git 主机的 SSH 密钥面板中。
配置您要使用的主机后,SparkleShare 会下载 Git 项目,包括(您可以选择)提交历史记录。在 ~/SparkleShare 中查找文件。
与 Dolphin 的 Git 集成不同,SparkleShare 非常隐形。当您进行更改时,它会静默地将更改同步到您的远程项目。对于许多人来说,这是一个巨大的好处:拥有 Git 的所有功能,而无需任何维护。对我来说,这令人不安,因为我喜欢控制我提交的内容以及我使用的分支。
SparkleShare 可能不适合所有人,但它是一个强大而简单的 Git 解决方案,展示了不同的开源项目如何完美地协同工作,创造出独特的东西。
Git-cola
另一种使用 Git 仓库的模型不太原生,更像是一种监控方法;您可以不使用集成应用程序直接与您的 Git 项目交互,而是可以使用桌面客户端来监控项目中的更改,并以您选择的任何方式处理每个更改。这种方法的优势在于专注。当您的项目中只有三个文件正在积极处理时,您可能不会关心所有 125 个文件,因此将它们置于最前沿是有帮助的。
如果您认为那里有很多 Git Web 主机,那您还没见过什么呢。适用于您桌面的 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 恰好非常可配置,因此您可以随意更改布局。我将我的布局设置为最左侧的面板是 状态,显示对当前分支所做的任何更改,然后在右侧,是 差异 面板,以防我想查看更改,以及 操作 面板,用于快速访问常用任务的按钮,最后最右侧的面板是 提交 面板,我可以在其中编写提交消息。
https://open-source.net.cn/sites/default/files/4_gitcola.jpg" title="Git-cola 界面。" typeof="foaf:Image" width="520" height="312">
即使您使用不同的布局,这也是 Git-cola 的一般流程
更改出现在 状态 面板中。右键单击更改条目,或选择一个文件并单击 操作 面板中的 暂存 按钮,以暂存文件。
暂存文件的图标变为绿色三角形,表示该文件已被修改和暂存。您可以通过右键单击并选择 取消暂存所选,或单击 操作 面板中的 取消暂存 按钮来取消暂存文件。
在 差异 面板中查看您的更改。
当您准备好提交时,输入提交消息并单击 提交 按钮。
操作 面板中还有其他按钮,用于其他常见任务,如 git pull
或 git push
。菜单完善了任务列表,其中包含用于分支、查看差异、变基和更多操作的专用操作。
我倾向于将 Git-cola 视为文件管理器的浮动面板(我只在 Dolphin 不可用时才使用 Git-cola)。一方面,它不如完全集成且支持 Git 的文件管理器那样具有交互性,但另一方面,它实际上提供了原始 Git 的几乎所有功能,因此实际上更强大。
有很多图形化的 Git 客户端。有些是付费软件,没有源代码可用,另一些仅是查看器,还有一些试图用客户端特有的特殊术语来重新发明 Git(“同步”而不是“推送”...?),还有一些是特定于平台的。Git-Cola 一直是在任何平台上都最容易使用的,并且是最接近纯 Git 的客户端,因此用户在使用它的同时学习 Git,专家也会对界面和术语感到舒适。
Git 还是图形化?
我通常不使用图形化工具来访问 Git;我主要使用我讨论过的那些工具来帮助其他人找到适合自己的舒适界面。但归根结底,这取决于什么适合您的工作方式。我喜欢基于终端的 Git,因为它与 Emacs 集成得很好,但在我主要在 Inkscape 中工作的一天里,我可能会自然而然地转而使用 Dolphin 中的 Git,因为我无论如何都在 Dolphin 中。
您如何使用 Git 取决于您;最重要的是要记住,Git 的目的是让您的生活更轻松,并让您对您的工作产生的疯狂想法更安全地进行尝试。熟悉 Git 的工作方式,然后从您认为最适合您的角度使用 Git。
在我们的下一期中,我们将学习如何设置和管理 Git 服务器,包括用户访问和管理,以及运行自定义脚本。
17 条评论