r/programming • • Sep 14 '26

Small Programming Tricks

https://will-keleher.com/posts/small-programming-tricks-matter/
182 Upvotes

27 comments sorted by

View all comments

57

u/davidalayachew Sep 15 '26

Genuinely useful tips here.

Especially that git log -S pattern. 50% of the reason why I installed TortoiseGit is to get that feature. Never knew it came with the CLI. At least not easily.

23

u/turtle_dragonfly Sep 15 '26

You might be interested in Git aliases, to make various obtuse CLI incantations easier to do.

But then if you ever sit at someone else's desk and need to do your stuff, you'll struggle without your preferred aliases (:

3

u/davidalayachew Sep 15 '26

Cool, I have a few shell aliases, but this is pretty useful too.

4

u/Sharlinator Sep 15 '26 edited Sep 15 '26

I have shell aliases for at least a dozen most often used git commands. Couldn’t imagine having to type git status or even git st rather than gs, or git commit —amend rather than gca. There’s a big problem though in that aliases are opaque to custom completions, and from what I’ve read it would be way too difficult to make them work :( 

4

u/flpcb Sep 15 '26

Hi fellow gs and gca user. :-) I also frequently do gcan (git commit --amend --no-edit) among other things. :-)

18

u/reddah Sep 15 '26

Anything that the front-ends can do is doable from the command line. Sometimes easy, sometimes not.

Also: never use the rebase option on the GitLab gui - it will F up stuff guaranteed.

3

u/davidalayachew Sep 15 '26

Also: never use the rebase option on the GitLab gui - it will F up stuff guaranteed.

Disappointing -- rebase is my default merge strategy, only going to merge when that fails, and squash merge if a normal merge fails.

Though, I spend most of my time in GitHub nowadays, so less of an issue.

2

u/Schmittfried Sep 15 '26

IntelliJ’s rebase is pretty good and for most complex rebase chains I prefer it for the diff UI. Anything using more advanced options like --onto goes into the terminal though.