Tig不仅仅是Git的文本界面。以下是它如何增强您的日常工作流程。如果您使用Git作为您的版本控制系统,您可能已经接受了Git是一个复杂的野兽这一事实。这是一个很棒的工具,但浏览Git存储库可能很麻烦。因此出现了像Tig这样的工具。来自Tig手册页:Tig是一个基于ncurses的git(1)文本界面。它主要用作Git存储库浏览器,但也有助于在块级别暂存提交更改,并充当各种Git命令的输出分页器。这基本上意味着Tig提供了一个可以在终端中运行的基于文本的用户界面。Tig可让您轻松浏览Git日志,但它的功能远不止让您从上一次提交跳转到上一次提交。Tig屏幕截图Tig快速入门中的许多示例都直接取自其出色的手册页。我强烈建议您阅读它以了解更多信息。安装TigFedora和RHEL:sudodnfinstalltigUbuntu和Debian:sudoaptinstalltigMacOS::brewinstalltig更多方法见官方安装说明。浏览当前分支中的提交如果您想浏览分支中的最新提交,请键入:tig即可。这个三个字符的命令将启动一个浏览器,您可以在其中浏览当前分支中的提交。您可以将其视为gitlog的包装器。要浏览这些输出,请使用向上和向下箭头键从一个提交移动到另一个。按Enter键将垂直拆分窗口,右侧显示所选提交的内容。您可以继续向上和向下浏览左侧的提交历史记录,您的更改将出现在右侧。使用k和j逐行向上和向下浏览,-和空格键在右侧向上和向下翻页。使用q退出右窗格。搜索tig输出也很简单。使用/(转发)或?(向后)在左窗格和右窗格中搜索。SearchingTig这些就足够让你浏览你的投稿信息了。这里有很多键绑定,但单击h将调出“帮助”菜单,您可以在其中找到它的导航和命令选项。您还可以使用/和?搜索帮助菜单。使用q退出帮助。TigHelpBrowseindividualfilechanges由于Tig是gitlog的包装器,它可以方便地接受可以传递给gitlog的相同参数。例如,要浏览单个文件的提交历史,请键入:tigREADME.md将其与封装的Git命令的输出进行比较,以更清楚地了解Tig如何增强输出。gitlogREADME.md要在原始Git输出中包含补丁,您可以添加-p选项:gitlog-pREADME.md如果您想将提交缩小到特定日期范围,请尝试以下操作:tig--after="2017-01-01"--before="2018-05-16"--README.md同样,您可以将其与原始Git版本进行比较:gitlog--after="2017-01-01"--before="2018-05-16"--README.md浏览谁更改了文件有时您想知道谁对文件进行了更改以及原因。命令:tigblameREADME.md本质上是gitblame的包装器。如您所料,这使您可以查看谁是最后编辑给定行的人,还可以让您查看引入该行的提交。这有点像vim的vim-fugitive插件提供的:Gblame命令。浏览您的暂存区如果您和我一样,您可能已经对暂存区进行了很多更改。你很容易忘记它们。您可以通过以下方式查看存储中的最新项目:gitstashshow-pstash@{0}您可以通过以下方式找到第二个最新项目:gitstashshow-pstash@{1}等等。如果你在需要的时候调用这些命令,你会比我记得更清楚。与上面的Git命令一样,Tig可以通过简单的调用轻松增强Git输出:tigstash尝试在临时存储库上执行此命令。您将能够浏览和搜索暂存项目以快速浏览您的更改。浏览你的refsGitrefs是你提交的东西的散列。这包括文件和分支。使用tigrefs命令浏览所有引用并深入到特定提交。一旦tigrefs完成,使用q返回上一个菜单。浏览gitstatus如果您想查看哪些文件已暂存,哪些未暂存,请使用tigstatus,它是gitstatus的包装器。tigstatusbrowsegitgrep可以使用grep命令在文本文件中搜索表达式。命令tiggrep允许您浏览gitgrep的输出。例如:tiggrep-ifoolib/Bar它会让您浏览lib/Bar目录以查找区分大小写的搜索foo的输出。通过标准输入将输出管道输出到Tig如果要将提交ID列表传递给Tig,则必须使用--stdin标志,以便tigshow从标准输入读取。否则,tigshow会在没有输入的情况下开始(出现空白屏幕)。gitrev-list--author=olafHEAD|tigshow--stdin添加自定义绑定您可以使用rc文件自定义Tig。下面是一个示例,说明如何根据自己的喜好添加一些有用的自定义键绑定。在您的主目录中创建一个名为.tigrc的文件。在你喜欢的编辑器中打开~/.tigrc并添加:#Applyselectedstashbindstasha!?gitstashapply%(stash)#Discardselectedstashbindstashx!?gitstashdrop%(stash)如上,运行tigstash浏览你的藏品。但是,使用这些绑定,您可以按a将项目从舞台应用到存储库,然后按x将项目从舞台中删除。请记住,您只能在浏览暂存列表时执行这些命令。如果您正在浏览临时项目,请键入q退出该视图,然后按a或x以获得所需的效果。有关详细信息,您可以阅读Tig键绑定。总结我希望这有助于展示Tig如何增强您的日常工作流程。Tig可以做更强大的事情(比如暂存代码行),但这超出了这篇介绍性文章的范围。这里有足够的信息让您处于危险之中,但还有更多信息需要探索。
