this post was submitted on 07 Aug 2025
83 points (98.8% liked)
Programming
22034 readers
199 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Fork !!!
It's hands down the best git client.
It's free as in: sublime text or winzip where they ask you once a month if you want to pay for it but you can just select: I'm still trying it out, and it gets out of your way.
And one killer feature that I haven't seen any other git clients handle: allowing me to stage only one side of the diff. As in: if I change a line (so it shows up as one removed line and one new line in git), I can decide to add the new line change while still keeping the old line.
So changing this:
into this:
Shows up in git as:
But if I still want to keep
doThing(1);
, I don't have to go back into my code to retypedoThing(1);
, or do any manual copy-pasting. I can just highlight and add onlydoThing(2);
to the staging area and discard the change todoThing(1);
.So now the code exists as:
Now with a one-liner example like this, we could always re-enter the code again. But for larger code changes? It's far easier to just highlight the code in the diff and say: yes to this and no to the other stuff.
And when you get used to it, it makes it really easy to split what would be large git commits into smaller related changes keeping your git history clean and easy to understand.
I love Fork, bought the license to support the developer.
The only thing I don’t like is that there is no Linux version, asked the dev and he told me that the issue with Linux is that there are different distros with different GUI libraries so it would require multiple versions for Linux.
A bit saddened it I completely understand.
In case you're interested,
git add <files> -p
allows you to do this on the command line. I use it daily.I still don't think it's nearly as convenient as being able to just see the changes side by side and click the one you want (or both). You can even easily modify the final outcome in the 3rd preview panel, in case you need to do a quick fix after a conflict resolution.
I’ll second Fork, it’s been my go to for years! Maybe I’ll pay for it one day