
Show HN: `fzf` * `Git` done right - parentheses
https://github.com/bigH/git-fuzzy
======
parentheses
(Author) Please reply to this comment with any bugs you face and I’ll do my
best to fix them ASAP.

I recommend you check out the log command. It’s quite powerful and the closest
to a “git history search engine” I’ve ever seen.

~~~
hesk
The screenshot looks nice but I can't figure out how to get it working. I can
mark files with TAB but how can I edit/stage/commit? The ALT-X hotkeys create
characters which are used to refine the search.

~~~
parentheses
Depends on how your terminal is set up. Often times folks remap those keys and
that prevents `fzf` from receiving them. If that’s the case, try a new
terminal emulator as an experiment.

~~~
hesk
I tried the macOS terminal, iTerm2, and the xterm that ships with XQuartz.
None of them work. I think the problem is that by default Alt+X creates
printable characters on macOS.

For example:

    
    
      Alt-E => €
      Alt-U => ¨
      Alt-C => ç
    

Disabling this is not really an option because I rely on them.

EDIT: formatting

~~~
soraminazuki
I think it's nicer if it used ctrl- bindings instead.

------
beshrkayali
If you're an emacs user, check out [https://magit.vc/](https://magit.vc/)

~~~
jackewiehose
How is the state of Magit on MS-Windows? For me it's unusably(!) slow with a
3-4 GB repository. What is the best way to run Emacs on Windows? I'm using
cygwin because I need so many unix tools anyway.

~~~
xxpor
Well, let's just be honest here, a 3-4 gb git repo is ridiculously huge. I'd
expect everything to be slow.

For reference, a full checkout of the linux kernel is 2.5GB.

~~~
jackewiehose
> a 3-4 gb git repo is ridiculously huge.

It's an old long SVN repository with a lot of files. I would like to split it
in two SVN repos but that would destroy their history. Any ideas?

> I'd expect everything to be slow.

It's actually very OK with git in cygwin-bash.

~~~
universa1
You can do the split in subversion by filtering the paths, and keeping the
history :-) There is a svnadmin command for that. I guess you can do something
similar in git

~~~
namibj
The magic is inside git-subtree (invoke as `git subtree split -P
path/prefix/of/subtree/to/decouple -b branch-name-to-create-and-store-subtree-
history`). There is also more exotic stuff that would just rip a complete
folder out, but that get's complicated.

------
danans
I was introduced to fzf by a co-worker about a year ago when I started working
on a team that used git.

Now I use it literally everywhere, from the command line as a quick git
workspace switcher, to all sorts of git commands in vim using fzf.vim [1].

fzf is brilliant.

1\. [https://github.com/junegunn/fzf.vim](https://github.com/junegunn/fzf.vim)

~~~
wyclif
I've been using fzf on the command line and within NeoVim for a about a year
now, and it's made my workflow a lot faster. Highly recommended.

------
atishay811
I personally love Laxygit
[https://github.com/jesseduffield/lazygit](https://github.com/jesseduffield/lazygit).
It makes sure I don't have to think.

~~~
williamdclt
I really like the FZF approach and did some nice git integrations myself.
Nothing close to this post, this is great work!

But I find that lazygit does everything I want and more, better than I would
have designed it!

~~~
parentheses
lazy git is sick!

------
htfy96
This looks nice! [https://jonas.github.io/tig/](https://jonas.github.io/tig/)
is another command-line UI for Git with similar two-column layout.

git-fuzzy seems to also support two-column diff view which isn't in tig. Good
job.

~~~
avel
A nice tutorial on tig, now that you mentioned it.
[https://www.atlassian.com/blog/git/git-
tig](https://www.atlassian.com/blog/git/git-tig)

------
OJFord
Nice! I've been using my own `git fzsha` and `git fzfile` commands pretty much
since I discovered fzf, as prefixes to standard commands which they pass the
fzfound result on to. I just recently moved them out to their own repo
([https://github.com/OJFord/fzutils](https://github.com/OJFord/fzutils))
having been asked about it a few times, but looks like I might be able to drop
them in favour of this.

------
alpb
"done right" is rather subjective. It would be better if mods can suggest a
better title.

~~~
parentheses
how about '`fzf` + `git` to melt your face'?

------
hivacruz
I really like the "git diff" example. Almost wants me to throw Git Tower after
that! Nice job.

------
andrewshadura
There’s also [https://github.com/andrewshadura/git-
crecord](https://github.com/andrewshadura/git-crecord).

------
throwaway_pdp09
Check out magit.

I tried to look at the web page but it has ~16MB in 3 images (please don't do
that) and blew up my palemoon process by over 3GB (not MB). I have never seen
that before. JS is disabled. There's something really nasty going on. Browser
is palemoon, fairly recent.

~~~
parentheses
those gifs are huge, but the author in me really wanted eye candy on those
pages.

aside: it's surprising that a browser requires 3GB to display 16MB of gifs.
sadly, wouldn't be surprised if the same phenomenon plagues every browser.

~~~
yuribro
It takes ~120MB on Chrome. (compared to ~40MB for a different repo page on
github).

I think this warrants a bug report for palemoon

~~~
throwaway_pdp09
Will do!

~~~
throwaway_pdp09
Done.
[https://forum.palemoon.org/viewtopic.php?f=29&t=24497&sid=bc...](https://forum.palemoon.org/viewtopic.php?f=29&t=24497&sid=bcc88fa03b572914038b3f5446397950)

