TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: I made a tool that made me faster at Git

551 pointsby jesseduffieldalmost 7 years ago

36 comments

jolmgalmost 7 years ago
&gt; are YOU tired of typing every git command directly into the terminal<p>I&#x27;m not. Are there many people that are? Is this not just a matter of learning to use shell keybindings effectively? That and aliases does wonders to avoid repetitive typing. Many times I type `git s` (alias for `git status -s`) out of reflex when I really meant to do `ls`.<p>When I forget to add `-a` to `git ci -m ...` (`ci` being `commit`) and get an error because the index is empty, I just `&lt;caps&gt;kF-aa&lt;enter&gt;` (&lt;caps&gt; being &lt;esc&gt;) to add it and re-execute. It&#x27;s muscle memory; I do it before I even realize I did it.
评论 #17690017 未加载
评论 #17689624 未加载
评论 #17689640 未加载
评论 #17689900 未加载
评论 #17689779 未加载
评论 #17690244 未加载
评论 #17689518 未加载
评论 #17690022 未加载
评论 #17690387 未加载
评论 #17690092 未加载
评论 #17689909 未加载
评论 #17690846 未加载
pandleralmost 7 years ago
Awesome work OP! I’m a big fan of using tools like this to supplement git, especially when it comes to some of the more complex operations.<p>Personally I use tig, which is basically this but different. I used to use Sourcetree and I loved it but it slowed to a crawl with bigger projects with long histories.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;jonas&#x2F;tig" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jonas&#x2F;tig</a><p>Best screenshots I can find on google are ironically from the Atlassian blog:<p><a href="https:&#x2F;&#x2F;www.atlassian.com&#x2F;blog&#x2F;git&#x2F;git-tig" rel="nofollow">https:&#x2F;&#x2F;www.atlassian.com&#x2F;blog&#x2F;git&#x2F;git-tig</a>
评论 #17690592 未加载
nickbarnwellalmost 7 years ago
If you&#x27;re an emacs user, I can&#x27;t recommend magit [1] enough. I was a diehard CLI user and had flags and aliases out the wazoo, and it was still a step change in usabilty and power for me. Staging hunks, rebasing, and stashing are all vastly easier. Amending or editing a commit is a breeze, and it&#x27;s tied in to all of the other emacs tools you already use, e.g. org-mode to boot!<p>It&#x27;s easier to see it in action than explain it. If you&#x27;ve two minutes to spare, check out this emacsrocks screencast [2], or Howard Abram&#x27;s longer presentation from the PDX Emacs Hackers meetup [3].<p>[1]: <a href="https:&#x2F;&#x2F;magit.vc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;magit.vc&#x2F;</a><p>[2]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rzQEIRRJ2T0" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rzQEIRRJ2T0</a><p>[3]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=vQO7F2Q9DwA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=vQO7F2Q9DwA</a>
评论 #17689590 未加载
评论 #17689480 未加载
评论 #17689537 未加载
评论 #17694335 未加载
评论 #17689453 未加载
austenallredalmost 7 years ago
&gt; are YOU tired of typing every git command directly into the terminal, but you&#x27;re too stubborn to use Sourcetree because you&#x27;ll never forgive Atlassian for making Jira? This is the app for you!<p>lol
评论 #17689295 未加载
pjc50almost 7 years ago
You know what would make me faster at git?<p>&quot;git undo&quot; : undo the last git command line, whatever it did. Especially if you don&#x27;t understand what it did or it overwrote local files.
评论 #17690642 未加载
评论 #17691801 未加载
评论 #17714983 未加载
评论 #17690626 未加载
评论 #17690608 未加载
评论 #17691971 未加载
jesseduffieldalmost 7 years ago
Hey guys thanks for all the feedback so far! I whipped up a quick tutorial for anybody who wants to know the basics <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=VDXvbHZYeKY" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=VDXvbHZYeKY</a>
karmakazealmost 7 years ago
This looks great. For some reason I don&#x27;t mind using the GUI tools to view history and branches but for commits always use the command line. This should save some time and much typing.
评论 #17689294 未加载
评论 #17689344 未加载
andrewshaduraalmost 7 years ago
I&#x27;m mostly using plain Git, but there&#x27;s one thing for which I needed a TUI: line-by-line selective committing.<p>After trying to find something I liked, I ended up porting crecord extension for Mercurial to Git: <a href="https:&#x2F;&#x2F;github.com&#x2F;andrewshadura&#x2F;git-crecord" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;andrewshadura&#x2F;git-crecord</a>
评论 #17691959 未加载
评论 #17691071 未加载
kbumsikalmost 7 years ago
I use VS Code and GitLens lately. VSCode’s diff view and GitLens explorer cover my needs very well.
评论 #17689497 未加载
stockkidalmost 7 years ago
Personally I have been typing all git commands manually into the terminal and never felt a need for GUIs or tools such as this.<p>There are a number of git shortcuts defined in my zsh aliases [0]. It goes like:<p><pre><code> # Git aliases alias g=&#x27;git&#x27; alias ga=&#x27;git add&#x27; alias ghb=&#x27;git browse&#x27; # hub alias ghpr=&#x27;git pull-request&#x27; # hub alias gp=&#x27;git push&#x27; alias gpoh=&#x27;git push origin HEAD&#x27; ... </code></pre> Using these aliases, we rarely have to type more than 3-4 characters for a git command. Savings and efficiency not only add up over years of using git, but also accelerate as you become more proficient in using your own aliases that fit your special needs.<p>[0] - <a href="https:&#x2F;&#x2F;github.com&#x2F;sungwoncho&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;zsh&#x2F;aliases.zsh" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sungwoncho&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;zsh&#x2F;alias...</a>
评论 #17689391 未加载
评论 #17689487 未加载
评论 #17689369 未加载
评论 #17689329 未加载
评论 #17689341 未加载
a-balmost 7 years ago
But why? There are so many awesome tools like tig and magit!<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;jonas&#x2F;tig" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jonas&#x2F;tig</a><p>- <a href="https:&#x2F;&#x2F;magit.vc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;magit.vc&#x2F;</a>
评论 #17690147 未加载
was_boringalmost 7 years ago
Thanks for making this, it looks great! I&#x27;ll be giving it a shot tomorrow.<p>I&#x27;ve been moving more and more to terminal for all of my development. My dev. stack is now: vim; tmux; lynx; ddgr; zsh; and docker. It is game changing for distraction-free programming, consistency between languages, and the ability to use the exact same setup everywhere -- even on remote machines.
评论 #17690132 未加载
webrenderalmost 7 years ago
I&#x27;ve been using Fork: <a href="https:&#x2F;&#x2F;git-fork.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;git-fork.com&#x2F;</a> because of its 2 primary advantages over SourceTree: • Dark mode • Tabs
评论 #17689452 未加载
评论 #17689427 未加载
评论 #17689604 未加载
评论 #17689679 未加载
msinghaialmost 7 years ago
I have been using <a href="https:&#x2F;&#x2F;github.com&#x2F;scmbreeze&#x2F;scm_breeze" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;scmbreeze&#x2F;scm_breeze</a>, and though not as feature-packed, it does make the workflow fast.
评论 #17689261 未加载
danpalmeralmost 7 years ago
I’ve yet to find a git setup that is more productive (for me at least) than SublimeGit for Sublime Text. The combination of a text based interface with single character shortcuts, and the quick support for staging individual parts of files, means I’m probably twice as fast as the next best thing. It’s the reason I haven’t moved from Sublime to VS Code.<p>This looks like it could be close, and I’ll definitely give it a try. If I could decouple myself a bit more from Sublime that would be great. The plugin community just isn’t the same as VS Code.
评论 #17692007 未加载
cpethalmost 7 years ago
One Git UI that I absolutely love but I rarely see mentioned is GitKraken. It&#x27;s so nice having a fully cross-platform Git GUI, that&#x27;s attractive and intuitive.
评论 #17689488 未加载
mehrdadnalmost 7 years ago
&#x27;Go&#x27; question that came up when I tried to build this: How do you build a Go .EXE on Windows that doesn&#x27;t have any file paths embedded in it?
评论 #17689462 未加载
kchoudhualmost 7 years ago
How much time do people spend messing with their source control that extreme tools like this become necessary?<p>I commit like, once a day. What am I doing wrong?
评论 #17689551 未加载
评论 #17689543 未加载
评论 #17689611 未加载
评论 #17689519 未加载
评论 #17689540 未加载
tootiealmost 7 years ago
IntelliJ now and forever. We still have some crap on SVN and the version control menus are nearly identical switching between that and git.
nvahalikalmost 7 years ago
This looks super neat. Will try it out. Although I’m a sourcetree user... lately `git add -i` has changed how I use got massively.
评论 #17689360 未加载
idiomatic1almost 7 years ago
I don&#x27;t touch aliases. History search with fzf is much better. Same number of keystrokes, but your actions remain clear and explicit.
评论 #17690143 未加载
agumonkeyalmost 7 years ago
raw console magit I see
评论 #17690625 未加载
tomxoralmost 7 years ago
Nice idea - I don&#x27;t like going too far above the git cli, but I usually find myself building a set of terminals watching different git commands such as status, log, diff etc for a more parallel overview...<p>This tool looks like it does that a bit better with interactivity maintained, and for some reason i&#x27;m more comfortable accepting a CLI git UI into my workflow than a GUI.
hartatoralmost 7 years ago
I use GitHub desktop, it’s pretty solid.
DelTacoalmost 7 years ago
I&#x27;ve always been a fan of Git Town: <a href="https:&#x2F;&#x2F;github.com&#x2F;Originate&#x2F;git-town" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Originate&#x2F;git-town</a><p>Not a UI but helps with some commands you run in a row quite often
robertkalmost 7 years ago
Might be a good opportunity to advertise my git-send bash function &#x2F; zsh plug-in:<p><a href="http:&#x2F;&#x2F;github.com&#x2F;robertzk&#x2F;send.zsh" rel="nofollow">http:&#x2F;&#x2F;github.com&#x2F;robertzk&#x2F;send.zsh</a>
评论 #17689496 未加载
tylerjwilk00almost 7 years ago
Whether or not anyone is tired of typing git commands this is a cool project. I intend to try it out. Great work jesseduffield!
eagsalazar2almost 7 years ago
I used to race and coach skiing for many years. Intermediate skiers always used to ask me what skis to buy to make them better at [ice|powder|moguls|steeps|etc] while I and most proficient skiers used the same boards every day in all conditions. This tool reminds me of that.<p>* I acknowledge that some really great skiers are geeked on their equipment and use a variety of skis. Point still stands.
评论 #17689746 未加载
amleszkalmost 7 years ago
Looks nice but I think you need some better documentation before anyone can use it.
quickthrower2almost 7 years ago
I&#x27;m a Windows user, and I love Tortoise Git for this kind of stuff.
jags-valmost 7 years ago
Nice first project with go. the project made wanna learn go :).
anandaverma18almost 7 years ago
This utility is nice. Let me try out and save some time.
antjanusalmost 7 years ago
Damn, that&#x27;s a really nice UI!
thr0000waayalmost 7 years ago
congrats, you have discovered darcs.
IshKebabalmost 7 years ago
Why not just use an actual GUI then rather than a shitty TUI?<p>GitX (Mac only sadly) is the best of the free ones, and Tower is then best of the commercial ones. Try those.
sAbakumoffalmost 7 years ago
&gt;&gt;but you&#x27;re too stubborn to use Sourcetree because you&#x27;ll never forgive Atlassian for making Jira? This is the app for you!<p>This is the most ridiculous ad ever.