tig

 tig是什么

tig, 就是把 Git 这个单词倒过来念, 它是一个命令行工具, 日常使用中我用它来取代 Git 最高频的几个操作,

如 git log, git diff 以及 git blame等, 使用常见安装源能够方便地安装它.

 ubuntu: sudo apt-get install tig
macOS: brew install tig

 tig是一种命令行交互式操作工具 tig 的所有功能都是 Git 命令行已经具备的, 

tig 提供了一种直观, 方便快捷的 Git 操作.

   在使用 Git 命令的过程中, 最高频的命令应该是 git status, 主要用来查看
staged changes 和 unstaged changes, 通过 tig, 可以很方便的像刚才查看
commit 那样查看 staged changes 和 unstaged changes, 敲 tig 进入 log
界面后, 排在最上面的便是 staged changes 和 unstaged changes, 至此,
staged changes 和 unstaged changes 就像一个 commit 一样被方便地展示出来了
 

tig安装 :

 
1. 安装Homebrew (macOS 缺失的软件包的管理器)

1.1将brew的install文件下载本地

cd ~ && curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install

1.2修改install文件的镜像源

# BREW_REPO = "https://github.com/Homebrew/brew".freeze
BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze

1.3安装brew

/usr/bin/ruby ~/brew_install

 1.4验证是否安装成功

$ brew doctor

如果没成功先卸载brew一下,再试

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
 
2. Mac环境安装通过brew安装tig
 
brew install tig  
 
已经安装过的可以更新

brew upgrade tig

 
 3.tig命令

安装成功后,在 Repo 文件夹下,输入 【 tig 】+ 【 Enter 】即可进入 tig 模式。此时展现在面前的将会是本地所有的 commit 记录以及分支的演化。

【 j 】【 k 】可上下切换选中的行,【 Enter 】可分屏查看当前 commit 记录详情,【 l 】小写的 L,全屏查看 commit 记录。

【 r 】进入 refs view 模式,查看所有分支,使用 【 j/k 】上下切换, 【 Enter 】查看分支演化。

【 s 】进入 status view,效果同 git status 命令,会展示所有 Untracked 和 UnStaged 文件。 选中 Unstaged 的文件键入【 u 】效果同 git add ,选中 staged 的文件键入 【 u 】效果同 git reset,即撤销 add 操作。【 Enter 】查看分屏查看当前文件的修改记录。

status view 模式下键入 【 C 】进入 vim 编辑器,【 i 】进入编辑模式,在第一行输入 commit 信息,【 :x 】退出并保存。【 m 】查看 commit 记录。

【 c 】进入 stash view 模式,全屏查看修改记录,可配合 【 s 】 使用。

【 t 】进入 tree view 模式,git 目录会以文件夹的形式展示。【 Enter】进入子目录,【 , 】返回上一级目录。

【 m 】进入 main view 查看当前分支的所有 commit 记录,使用 【 j/k 】上下切换,【 回车 】可分屏查看 commit 详情。同样,【 j/k 】上下移动,【空格】翻页。

main view 可以认为是主页。

【 / 】输入关键字可进行搜索。

【 R 】刷新当前页面,可退出搜索的高亮状态。

【 Q 】退出 tig。

【 h 】查看快捷键帮助。

例如:

git status 

git add .

git commit --m "test"

tig

git push

tig

如果同事也有提交代码

可以先这样

git stash  (暂存当前修改内容)

git pull --rebase

git stash pop

说明: git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit,

或者另外一种情况,为了fix 一个紧急的bug,  先stash, 使返回到自己上一个commit,

改完bug之后再stash pop, 继续原来的工作。

 注意: git pull –rebase 理解

这个命令做了以下内容: 

a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的) 

b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突 

c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并

所以 rebase 在拉代码前要确保你本地工作区是干净的,

如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。

 

 备注:使用oh my zsh效果更好哦!

参考:

tig

https://www.jianshu.com/p/e4ca3030a9d5

posted @ 2020-06-05 10:21  甘林梦  阅读(1258)  评论(0编辑  收藏  举报