35
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 18 Aug 2023
35 points (92.7% liked)
Programming
17314 readers
33 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 1 year ago
MODERATORS
You've never used a graphical git client?!
I'm comfortable on the command line but a decent git UI is a way better experience.
git diff
is so basic using a GUI makes it far easier to compare changes.Same for merge conflicts. I'm not sure you can even resolve them on the CLI?
Any form of rebase: I think I used the CLI to do an interactive rebase a few times in the early days but I'd never do so without a GUI now.
Managing branches: perhaps I'm a little too ott but I keep a lot of branches preserved locally, a GUI provides a decent tree structure for them whereas I assume on the command line I'd just get a long list.
Managing stashes: unless you just want to apply latest stash (which admittedly is almost always the case) then I'd much rather check what I'm applying through a GUI first.
There are some things I still use the CLI for though:
git remote add
git remote set-url
because I'm just too lazy to figure out how to do that in a GUI. It's usually hidden away somewhere.git push --force
because every GUI makes it such an effort. C'mon! I know what I'm doing - it's /probably/ not going to mess things up...I use git on the CLI exclusively. I almost never rebase, but otherwise get by with about 5-10 commands. One that will totally change your experience is
git add -p
I also have my diff/mergetool configured to use kaleidoscope, but still do everything else in the CLI.
The documentation is entirely meaningless? What does it do?
You can stage individual chunks of a file.
Useful if you have a large set of changes you want to make separate commits for. I also just find that it’s a good way to do a review of each chunk before committing changes blindly.
Give it a shot some time, worst case is you stage some stuff that you don’t want to commit, but it’s non-destructive.
I'll occasionally
It's clunky but it's robust and safe. It does sound a lot cleaner to just use
commit -p
thoughYeah, -p can help with that. I’m not much for “commit grooming” - as long as a branch merges to main cleanly and passes tests, I don’t care about an “ugly” commit history.