偷偷告訴你們一個 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.pswp.cn/news/274418.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274418.shtml
英文地址,請注明出處:http://en.pswp.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…

黑馬-程序員C#泛型簡介

---------------------- Windows Phone 7手機開發、.Net培訓、期待與您交流&#xff01; ---------------------- 泛型&#xff1a;通過參數化類型來實現在同一份代碼上操作多種數據類型。利用“參數化類型”將類型抽象化&#xff0c;從而實現靈活的復用。 例子代碼&#xff1a…

西里爾字符_如何設計西里爾字母?(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…

Lists

動態數組&#xff0c;可以存儲不同數據類型 >>> a [spam, eggs, 100, 1234] >>> a [spam, eggs, 100, 1234] 和string一樣&#xff0c;支持索引&#xff0c;&#xff0c;* >>> a[0] spam >>> a[3] 1234 >>> a[-2] 100 >>&…

學習 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…

宏定義學習

【1】宏定義怎么理解&#xff1f; 關于宏定義&#xff0c;把握住本質&#xff1a;僅僅是一種字符替換&#xff0c;而且是在預處理之前就進行。 【2】宏定義可以包括分號嗎&#xff1f; 可以&#xff0c;示例代碼如下&#xff1a; 1 #include<iostream>2 using namespace…

學習 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.我經常喜歡在…

spring配置文件-------通配符

<!-- 這里一定要注意是使用spring的mappingLocations屬性進行通配的 --> <property name"mappingLocations"> <list> <value>classpath:/com/model/domain/*.hbm.xml</value> </list> </proper…

若川知乎問答: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…

Ubuntu下修改file descriptor

要修改Ubuntu下的file descriptor的話&#xff0c;請參照一下步驟。&#xff08;1&#xff09;修改limits.conf  $sudo vi /etc/security/limits.conf  增加一行  *  -  nofile  10000&#xff08;2&#xff09;修改 common-session  $ sudo vi/etc/pam.d/common…

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;許多年長用戶首次上網或使用的技術比以前更多。 對于某些人…