偷偷告诉你们一个 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,都会列出所有的改动文件列表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DAO层使用泛型的两种方式

package sanitation.dao;import java.util.List;/** * * param <T>*/public interface GenericDAO <T>{/** * 通过ID获得实体对象 * * param id实体对象的标识符 * return 该主键值对应的实体对象*/ T findById(int id);/** * 将实体对象持…

将是惊心动魄的决战~

大家好&#xff0c;我是若川。一个和大家一起学源码的普通小前端。众所周知&#xff0c;我参加了掘金人气创作者评选活动&#xff08;投票&#xff09;&#xff0c;具体操作见此文&#xff1a;一个普通小前端&#xff0c;将如何再战掘金年度创作者人气榜单~。最后再简单拉拉票吧…

图书漂流系统的设计和研究_研究在设计系统中的作用

图书漂流系统的设计和研究Having spent the past 8 months of my academic career working co-ops and internships in marketing & communication roles, my roots actually stem from arts & design. Although I would best describe myself as an early 2000s child…

西里尔字符_如何设计西里尔字母Њ(Nje),Љ(Lje),Ћ(Tshe)和Ђ(Dje)

西里尔字符This article is about how to design Cyrillic characters Њ, Љ, Ђ, and Ћ (upright caps and lowercase; italics are not covered here). They are often problematic since they are Cyrillic, but not found in the Russian alphabet, so there is no much …

学习 vuex 源码整体架构,打造属于自己的状态管理库

前言这是学习源码整体架构第五篇。整体架构这词语好像有点大&#xff0c;姑且就算是源码整体结构吧&#xff0c;主要就是学习是代码整体结构&#xff0c;不深究其他不是主线的具体函数的实现。本篇文章学习的是实际仓库的代码。其余四篇分别是&#xff1a;学习 jQuery 源码整体…

VMware workstation 8.0上安装VMware ESXI5.0

首先&#xff0c;在VMware的官网上注册&#xff0c;下载VMware ESXI的安装包vmware&#xff0d;vmvisor&#xff0d;installer&#xff0d;5.0.0&#xff0d;469512.x86_64.iso&#xff0c;它是iso文件&#xff0c;刻盘进行安装&#xff0c;安装过程中&#xff0c;会将硬盘全部…

最新ui设计趋势_10个最新且有希望的UI设计趋势

最新ui设计趋势重点 (Top highlight)Recently, I’ve spent some time observing the directions in which UI design is heading. I’ve stumbled across a few very creative, promising and inspiring trends that, in my opinion, will shape the UI design in the nearest…

学习 axios 源码整体架构,打造属于自己的请求库

前言这是学习源码整体架构系列第六篇。整体架构这词语好像有点大&#xff0c;姑且就算是源码整体结构吧&#xff0c;主要就是学习是代码整体结构&#xff0c;不深究其他不是主线的具体函数的实现。本篇文章学习的是实际仓库的代码。学习源码整体架构系列文章如下&#xff1a;1.…

404 错误页面_如何设计404错误页面,以使用户留在您的网站上

404 错误页面重点 (Top highlight)网站设计 (Website Design) There is a thin line between engaging and enraging when it comes to a site’s 404 error page. They are the most neglected of any website page. The main reason being, visitors are not supposed to end…

学习 koa 源码的整体架构,浅析koa洋葱模型原理和co原理

前言这是学习源码整体架构系列第七篇。整体架构这词语好像有点大&#xff0c;姑且就算是源码整体结构吧&#xff0c;主要就是学习是代码整体结构&#xff0c;不深究其他不是主线的具体函数的实现。本篇文章学习的是实际仓库的代码。学习源码整体架构系列文章如下&#xff1a;1.…

公网对讲机修改对讲机程序_更少的对讲机,对讲机-更多专心,专心

公网对讲机修改对讲机程序重点 (Top highlight)I often like to put a stick into the bike wheel of the UX industry as it’s strolling along feeling proud of itself. I believe — strongly — that as designers we should primarily be doers not talkers.我经常喜欢在…

若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?

知乎问答&#xff1a;做了两年前端开发&#xff0c;平时就是拿 Vue 写写页面和组件&#xff0c;简历的项目经历应该怎么写得好看&#xff1f;以下是我的回答&#xff0c;阅读量5000&#xff0c;所以发布到公众号申明原创。题主说的2年经验做的东西没什么技术含量&#xff0c;应…

ui设计基础_我不知道的UI设计的9个重要基础

ui设计基础重点 (Top highlight)After listening to Craig Federighi’s talk on how to be a better software engineer I was sold on the idea that it is super important for a software engineer to learn the basic principles of software design.听了克雷格费德里希(C…

C# 多线程控制 通讯 和切换

一.多线程的概念   Windows是一个多任务的系统&#xff0c;如果你使用的是windows 2000及其以上版本&#xff0c;你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢&#xff1f;当一个程序开始运行时&#xff0c;它就是一个进程&#xff0c;进程所指包括运行中…

vue路由匹配实现包容性_包容性设计:面向老年用户的数字平等

vue路由匹配实现包容性In Covid world, a lot of older users are getting online for the first time or using technology more than they previously had. For some, help may be needed.在Covid世界中&#xff0c;许多年长用户首次上网或使用的技术比以前更多。 对于某些人…

IPhone开发 用子类搞定不同的设备(iphone和ipad)

用子类搞定不同的设备 因为要判断我们的程序正运行在哪个设备上&#xff0c;所以&#xff0c;我们的代码有些混乱了&#xff0c;IF来ELSE去的&#xff0c;记住&#xff0c;将来你花在维护代码上的时间要比花在写代码上的时间多&#xff0c;如果你的项目比较大&#xff0c;且IF语…

见证开户_见证中的发现

见证开户Each time we pick up a new video game, we’re faced with the same dilemma: “How do I play this game?” Most games now feature tutorials, which can range from the innocuous — gently introducing each mechanic at a time through natural gameplay — …

facebook有哪些信息_关于Facebook表情表情符号的所有信息

facebook有哪些信息Ever since worldwide lockdown and restriction on travel have been imposed, platforms like #Facebook, #Instagram, #Zoom, #GoogleDuo, & #Whatsapp have become more important than ever to connect with your loved ones (apart from the sourc…

M2总结报告

团队成员 李嘉良 http://home.cnblogs.com/u/daisuke/ 王熹 http://home.cnblogs.com/u/vvnx/ 王冬 http://home.cnblogs.com/u/darewin/ 王泓洋 http://home.cnblogs.com/u/fiverice/ 刘明 http://home.cnblogs.com/u/liumingbuaa/ 由之望 http://www.cnbl…

react动画库_React 2020动画库

react动画库Animations are important in instances like page transitions, scroll events, entering and exiting components, and events that the user should be alerted to.动画在诸如页面过渡&#xff0c;滚动事件&#xff0c;进入和退出组件以及应提醒用户的事件之类的…