偷偷告诉你们一个 git 神器 tig,一般人我不告诉TA~

大家好,我是若川。众所周知,我参加了掘金创作者人气作者投票活动,最后3天投票。今天可投28票,明天32票,后天36票(结束)。投票操作流程看这里:一个普通小前端,将如何再战掘金年度创作者人气榜单~


tig 我必装。我之前文章也写过使用 ohmyzsh 打造 windows、ubuntu、mac 系统高效终端命令行工具。推荐给大家。


工欲善其事,必先利其器。对于IT从业者来说,git估计天天在用,常用的命令已经滚瓜烂熟了。遇到紧急Bug,先Stash存一下然后切换分支开始修复也是常规操作,熟练了三秒不到。简化操作就是珍惜生命

tig是一个图形化git命令行工具,将很多操作简化了,如果你使用的是的VIM或者你对linux的操作有了解,那么它可以很好帮助你提高开发效率。众所周知,很多开发任务并行时候,环境切来切去是很费时间的。对于工具来说,tig上手成本足够低,虽然它并不是最好用的。

tig

就是git反过来写,很强大的终端图形化git管理工具。

主要是熟悉几个命令, Ctrl+C 可以退出交互

安装

Mac

brew update
brew install tig

CentOS

sudo yum update
sudo yum install tig

Ubuntu

sudo apt-get update
sudo apt-get install tig

视图

有这么几种视图模式

m mainView(默认视图)

520f64ea5cf26851b0fd3a8f5bab2738.png

s statusView

d9a0e7c6e9c7d5026a158418e5a86e72.png


自上而下分别是

  • 需要提交的文件,可以按C提交

  • 有追踪未提交的文件

  • 新增未追踪的文件

r refs

感觉类似git branch,方便查看所有分支。加上/的搜索,n/N切换上下可以很快定位到你需要的分支

y stash

中文应该翻译为储藏区,比如要将本地修改但是不需要提交的文件缓存,方便bugfix后回来恢复现场

d diffView

类似git diff

l logView

类似git log

其他的可以看tig h帮助文档

分屏操作

查看信息的时候会发现会自动分左右两块屏幕,可以通过Tab切换左右两块屏幕的视图

也可以在选中右侧屏幕时,按住shift+上下切换(j/k)来固定右分屏切换左侧分屏选择信息

指南
tig status # 进入status视图,会注明 Untracked files/Changes not staged for commit/Changes to be committed 的文件
tig blame <file> # 查询文件的每一行最后修改信息
tig <branchname> # 查看某个分支的提交信息
tig <oldBranch>..<newBranch> # 查看两个分支的diff
tig <filename> # 查看某个文件的提交历史

需要结合常见的vim光标移动和翻页操作

hjkl 左下上右
ctrl+d down下翻半页
ctrl+u up上翻半页
空格 下翻一页
- 上翻一页
@ 代码块粒度滚动

常见操作

add/unadd

常见的,可以这么几步

  1. tigs 进入status View

  2. 选择文件后按u,可以将文件加入staged,也可以将staged的文件移出

commit/uncommit

上面进入status View后,staged的文件,按C可以进入Commit,然后i输入commit message后:x保存退出就可以了

顺手查了下:x:wq的区别: :wq会强制写入文件,就算内容没变化也会改mtime,而:x比较智能内容不变化mtime不变

switch branch

进入tig的refs视图,选择好分支后C检出分支即可

Run `git checkout mmbizwxaproducttradeweb_pphu_aftersale`? [Yy/Nn]

输入y即可

stash

当然上面你会说有文件要先存一下再去切换分支做bugfixs,可以用到stash stash一般翻译为暂存区,就是缓存文件的一个区域

gsta # git plugin缩写
git stash push # git stash push -u,-u 参数是包含未跟踪的文件

通过git plugin的快捷键操作

tig+y 进入stashView, 通过P将暂存区的内容应用到本地

A ?git stash apply %(stash)
P ?git stash pop %(stash)
! ?git stash drop %(stash)

搜索

/进入搜索,n/N选择下/上一个搜索对象

revert

有时候要丢弃工作区的修改,可能会用git checkout -- .或者git reset HEAD来恢复整个工作区

有了tig可以直接在status View直接按!,会提示你是否revert,输入y即可

Are you sure you want to revert changes? [Yy/Nn]

diff branch

比较两个分支的不同,比如当前在B分支已经合并了master,需要与master分支比对

tig master..B # 可省略为下面的写法,因为当前为B分支
tig master..

此时跟git diff视图类似,会列出B分支多出来的commit,这时输入f会进入查找,输入d会进入diff view,都会列出所有的改动文件列表

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值