by zubspace on 5/31/22, 9:56 AM with 65 comments
by onetom on 5/31/22, 5:36 PM
IntelliJ Community Edition is even free and open-source, so for Java coding it's perfect, but pretty good for Clojure, Python, PHP too.
The JetBrains IDEs are cross-platform, including Linux and cross architecture, including ARM, because the JVM/JDK is cross-arch.
The sticking point for me is how well it deals with the 3-way resolution of merge conflicts.
It also has a magic-wand icon, which seems to resolve 95% of conflicts automatically and correctly, presumably doing something based on common ancestor commits.
BUT what makes both this 3-way merge interface AND the commit interface really great, is the ability to edit in-place, with all your custom keybindings, syntax highlighting, linting and code intelligence tools!
You can auto-complete code, look up docs or the source code of function definitions, even in JAR files, without leaving the context of the commit dialog. If you need to do something more involved, like refactoring or jump to definition, u can always get to the source code with F4 from the commit dialog or from within any commit context.
You don't know what are you missing out on, until you experience it! It's a significant reduction in mental overhead, imho.
Now the cost of all this convenience is that you need to download hundreds of megabytes and IntelliJ CE has a substantial startup time and memory consumption, since it indexes your code. It also sprinkles your repo with projects files under a .idea folder.
I will check out Fork regardless, because it's good to know what's out there and what are the different set of tradeoffs it choose. Then I can choose and/or recommend it for different situations.
It's the same reason I'm learning vc.el and magit too. If you need to do some git surgery over high-latency SSH, then it's hard to beat Emacs with TRAMP...
by zacwest on 5/31/22, 3:12 PM
by oerpli on 5/31/22, 6:45 PM
My impression is that Fork captures how git actually works better than some of the other GUI tools and it has a lot of handy features that make certain tasks a pleasure instead of a chore (common rebasing things, add/deleting/changing local/remote branches, splitting up changes in single files into multiple commits - this is maybe be an antipattern but I do it frequently enough).
Also, it's very cheap. I hope they make enough money with it to continue development.
by zubspace on 5/31/22, 10:05 AM
Just had an issue today and Dan replied in less than 5 minutes. Thumbs Up
by kitsunesoba on 5/31/22, 4:12 PM
I use it along with Secretive[0] to keep GitHub SSH keys in my MacBook’s Secure Enclave and add a biometric prompt whenever pushing or pulling. All together it’s extremely smooth and unfussy.
by anaganisk on 5/31/22, 2:47 PM
by nerdjon on 5/31/22, 5:02 PM
Personally the only GUI stuff I find useful are the features that are already part of VSCode (live showing what I have changed or doing a diff). Outside of that I generally find that any GUI for git just inevitably makes something just opaque enough that I don't really know for sure what I am about to commit or where I am pushing too. For me "git status" >> "git add XYZ" >> "git status" >> "git push" are so ingrained in my workflow that I don't get that feedback in any UI I have seen.
I have started to dip my toes into it a bit now with the Atlassian integration that can name new branches properly... but even using that just gives me a weird disconnect with what is actually happening that it doesn't feel right. After the creation of the branch I am back to my cli.
Maybe it is just because I live in the command line anyways (enough so that I have iTerm setup to just pop up from the bottom of my screen with a keyboard command) that I just feel more comfortable with the command line?
I just feel like I am missing something here since I know some do rely on these tools heavily.
by IMTDb on 5/31/22, 4:27 PM
by jdlyga on 5/31/22, 5:53 PM
by lioeters on 5/31/22, 10:01 PM
However, it "only" supports macOS and Windows. I'm migrating to Linux for my work and home computers, so I haven't used Fork in a while, just so I can get familiar with other tools available on Linux - and, importantly, learning to do more advanced Git operations in the terminal.
So far I still depend on a GUI, mainly VS Code's built-in Git integration and the GitGraph extension. (One of the advantages of this setup is that it also works for remote SSH editing.)
https://github.com/mhutchie/vscode-git-graph
Also looking at GitLens: https://www.gitkraken.com/gitlens
..But I sure miss using Fork. I used it everyday for the last couple years. It does everything I want to do with Git, the UI is familiar and well-designed. I whole-heartedly recommend it.
I see the main developer @DanPristupov is on HN, maybe he'd consider supporting Linux? I totally understand if you won't, since creating the same application for two OSes must be quite difficult already, especially for a small team rather than a company.
by Night_Thastus on 5/31/22, 6:43 PM
* Be fast
* Let me do line-by-line staging/reverting
* Automatically wrap commit message bodies past a given line length, and warn if titles are similarly too long.
If it does that, I am happy.
I've been using Git-cola, but it's slow. Every action incurs some delay, even simple ones. (Can't use VSCode for reasons)
The problem is most of the alternatives are either subscription (eww) or quite pricey. Fork is one of the cheaper ones, been meaning to try it.
by skrowl on 5/31/22, 2:14 PM
Maybe 10 years ago, but not now that open-source alternatives are so mature and feature-rich.
by chrismeller on 5/31/22, 3:27 PM
I do wish it were available on Linux as well.
by Vanit on 5/31/22, 4:26 PM
I usually recommend SourceTree to them, not because it's particularly amazing, but it does enough while not breaking repos (as often).
by robertoandred on 5/31/22, 4:33 PM
by darkteflon on 5/31/22, 3:25 PM
by 9erdelta on 5/31/22, 7:44 PM
Also on my local machine, push to remote gitlab does not work reliably and I have to push via command line. Have not been able to find a solution, but also haven't done more than googling about it.
by bm5k on 5/31/22, 2:41 PM
In particular, the drag & drop rebase support in tower is very convenient. Kaleidoscope is capable of all kinds of diffing but the text conflict resolution is probably the feature that I use the most.
by nerdyadventurer on 6/1/22, 3:13 AM
by ridiculous_fish on 5/31/22, 5:02 PM
by 726D7266 on 5/31/22, 4:46 PM
These pulled me away from Sourcetree, but my experience with Fork is limited to early versions (ca. 2016/17).
by 0xcoffee on 5/31/22, 4:21 PM
by SuperSandro2000 on 5/31/22, 4:39 PM