Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Jan 28 22:21
    verdie-g opened #893
  • Jan 28 10:19
    VonUniGE commented #340
  • Jan 28 02:20
    rcywongaa closed #869
  • Jan 26 20:30
    smkniazi edited #892
  • Jan 26 20:29
    smkniazi edited #892
  • Jan 26 20:28
    smkniazi opened #892
  • Jan 24 10:38
    timotheecour edited #890
  • Jan 24 09:20
    timotheecour opened #891
  • Jan 24 00:29
    timotheecour opened #890
  • Jan 23 22:09
    KeeReal commented #869
  • Jan 23 20:58
    avivey opened #889
  • Jan 21 23:26
    timotheecour commented #559
  • Jan 21 21:16
    koutcher commented #559
  • Jan 21 20:47
    koutcher commented #559
  • Jan 21 18:39
    smancill commented #559
  • Jan 21 07:11
    timotheecour commented #559
  • Jan 20 17:01
    smancill commented #559
  • Jan 20 10:25
    koutcher commented #559
  • Jan 20 02:54
    timotheecour commented #559
  • Jan 20 01:56
    timotheecour opened #888
Joar Wandborg

@jonas Using tig 2.2: I have a .gitattributes file with

*.crypt.* filter=git-crypt diff=git-crypt
.gitattributes !filter !diff

.git/config contains

[filter "git-crypt"]
    smudge = \"git-crypt\" smudge
    clean = \"git-crypt\" clean
    required = true
[diff "git-crypt"]
    textconv = \"git-crypt\" diff

git diff uses the filter and/or diff from .gitattributes, but tig does not use it when viewing an unstaged diff, is this a bug or a missing feature?

I noticed that git show does not use the filters either
Jonas Fonseca
@joar Tig is quite old-school when it comes to the status and stage views. It uses git diff-index, which probably doesn't honor .gitattributes.
Maik Klein
Can tig switch branches with autocompletion?
Jonas Fonseca
Paul Dragoonis
brew install tig
Warning: You are using OS X 10.13.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
==> Downloading http://jonas.nitro.dk/tig/releases/tig-2.1.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/tig-2.1.1.tar.gz
==> Downloading https://github.com/jonas/tig/commit/91912eb97da4f6907015dab41ef9bba315730854.diff
Already downloaded: /Library/Caches/Homebrew/tig--patch-263e86b25f788eb158bdd667e112bc839debe9e3fe788cbc39cc9654b65b6c8a.diff
Error: SHA256 mismatch
Expected: 263e86b25f788eb158bdd667e112bc839debe9e3fe788cbc39cc9654b65b6c8a
Actual: 90980d22658286f33d08b61ed69c630742b2c2150638e8f02ee33d76a676c1ca
Archive: /Library/Caches/Homebrew/tig--patch-263e86b25f788eb158bdd667e112bc839debe9e3fe788cbc39cc9654b65b6c8a.diff
To retry an incomplete download, remove the file above.
Help? :)
Jonas Fonseca
@dragoonis I suggest to open an issue against brew.
Excuse me, I want to know how to install tig?
You can install from homebrew if on a Mac.
Anyone know how to bind to Alt-<key>?
Can tig show the status of a directory? tig . will filter the log but pressing 's' or tig status -- . shows the status of the whole repo.
Collin Peters
Question: I added to my tigrc this to enable verbose mode bind generic C !git commit -v. However it A) doesn't work in the main view as the C key still opens up a cherry-pick and B) in status view I don't get the verbose mode. If I add bind status C !git commit -vthen I get the verbose mode from the status view.
Am I doing something wrong here?
Collin Peters
tig version 2.3.0
Sebastian C
Does tig support bare repos?
Jonas Fonseca
@collinpeters The default keybindings wire C in the main view, so you need to also add bind main C !git commit -v.
@sebsebmc Yes, it supports browsing bare repos. The status view is disabled though because there is no work tree.
Sebastian C
There's no way to specify a work-tree?
Igor Almeida
probably with git config directly
Jonas Fonseca
@sebsebmc Specifying one with GIT_WORK_TREE or in the Git config file should work.
What Igor said.
Hello there! Noob question: When I'm in the refs view, is it possible to fuzzy find a branch? Or filter the list in any way?
Jonas Fonseca
@juanzuluaga_twitter It's possible to set TIG_LS_REMOTE to a script or command that will output something similar to git show-refs --dereference
Christoph Berg
Is there a way to make it use git log --date-order instead of topo order?
Ah I see it now in .tigrc, I was only checking http://jonas.github.io/tig/doc/manual.html
Jonas Fonseca
@/all Version 2.4.0 has been released. Thanks to everyone who contributed! https://github.com/jonas/tig/releases/tag/tig-2.4.0
Jonathan Oberländer
Hi there! I'm looking to implement an ASCII representation of a (DA) graph in an unrelated application (nothing to do with Git, either). Does tig do the git graph visualization (in the main view) itself (in that case: where can I find the algorithm/the source of that), or does that come from some git command?
Jonathan Oberländer
Ah, nevermind, I see it's a variant of git log --graph --oneline
Jonas Fonseca
Tig builds the graph by parsing git-log output. Code is in src/graph-*.c
Nichlas Hummelsberger
Hi Jonas, Have you considered building tig as a snap package?

I wonder what's causing jonas/tig#582, as escape seems to be already implemented:


Jonas Fonseca
@Nichlas There is a snap configuration but it is using classic confinement and hasn't been accepted. Didn't have much time to figure out how to change the confinement.
Jonas Fonseca
@net You are right. Are you using readline?
How can I check out a single file from tree view in repository cloned with -n --depth 1?
Fujisan (富士山)

I have the following in my .tigrc:

   line-graphics = utf-8

and tig does not understand it:

tig warning: ~/.tigrc:1: Unknown option command: [tig]
tig warning: ~/.tigrc:2: Unknown option command: line-graphics
tig warning: Errors while loading /home/fuji/.tigrc.

What is wrong?

Fujisan (富士山)
Ok, my bad.
in .tigrc, it should be:
set  line-graphics = utf-8
hello. is there diff file by file option? And/or diff side by side view? thanks
Jonas Fonseca
No, side-by-side diff is the most voted feature, but I've not gotten around to implement it.
Matthew Lyon
is there any hold up on the diff-so-fancy feature? jonas/tig#542
Mikhail Mirzoyan
Hi guys. I'm a newbie tig user and it feels like it is the thing that i was looking for long time. But there is a thing that i would really like to have there. Selected file path copying. Here is a usecase: I'm working in vim and then switch to tig, there i see a file with changes that i want to continue to work on. So i want to go back to vim and quickly open this file. By pasting it's path from buffer into my filesearch plugin. Is there a way i can do that?
Hsieh Chin Fan
bind generic xf +sh -c "echo -n %(file) | xclip -sel c && echo File Clipped"
Hsieh Chin Fan
I have code above in my .tigrc, press xf will copy file in current line into clipboard, and echo "File Clipped" in status bar.
Be aware the way woks with clipboard differs by OS. In this case, I use xclip in binding(Ubuntu) .
You should make your own based on your machine, go through docs for tigrc really helps.
Hsieh Chin Fan
Or just use tig built-in command, type :edit or press e can open current file in editor , see
Mikhail Mirzoyan
@typebrook thanks a lot! Works out of the box in my Ubuntu as well :)
Wish i had time for all the docs
i've seen :edit but it doesn't work for me as i want the file to be opened in my already opened vim session, not in a new one
Sebastian Gniazdowski
Why there's no binding for git push? How to add one?
Why the binding doesn't work?
bind generic xf +sh -c "cat %(file) | pbcopy && echo File Copied Into The Cliboard (paste with Cmd-V)"