Comment by lucasoshiro
8 months ago
There are many "Git's coolest, most unloved feature", e.g.: bisect, pickaxe, reflog, range-diff, archive, annotated tags, etc. Sadly they are often forgotten as many people thing of Git only as a glorified Google Drive...
Git notes is redundant since you need a higher-level project management tool to track features anyway. Roadmaps, feature hierarchy and non-technical details. Think of any big tracker or Jira.
I think that's fine. Unix philosophy is to focus on one thing and do that well.
A project management tool that uses Notes would make IDE integration easier though.
I vaguely recall dismissing Notes as a solution to my problems. I may be recollecting some of this wrong, but IIRC the problem with Notes is that they aren’t batteries included. It’s easier to cajole devs into using new tools if the setup is simple and it doesn’t complicate their workflow. Notes fails this litmus test. Set it on by default and make it come down with pull and up with push instead of a separate activity.
There are many uses for Git notes even though you might use a project management tool. Particularly all those things which are relevant for developers only, or that the developers can use as the data source for "higher-level" goals.
In many cases this is because those features arent actually that useful and they are frivolities surrounding a workhorse.
I use a lot of features of my tools only when the shit hits the fan. People appreciate me doing it quickly. What they don’t appreciate is when I get mad at them for polluting those tools during their normal activities. Like destroying git history by renaming files incorrectly.
It’s hard to explain to them that things like “mis en place” aren’t OCD but table stakes for sophisticated activities.
When I presented most of the ones that I listed to other people they started to say how it would be great if they know these features before, and started to use immediately.
So, yet I understand that some tools do too much, I don't think that this is the case here.
Ha, I expected to know the features you were going to list, but got surprise attacked by pickaxe. What the hell? I guess I shouldn’t be so confident
pickaxe isn't a Git command, rather, it's a set of flags that `git log` offers (specifically `-S` and `-G`).
Shameless plug: I recently did a webinar on how the pickaxe options are better than `git-blame`) that you can find here: https://nofluffjuststuff.com/webinar/142/level_up_your_git_g... (Note: It requires you to provide an email address).
"Pickaxe" most often means those options. But it's also a (apparently legacy) command alias for git-blame.
Yes, this makes more sense now. Unfortunately I was already a heavy user of log, so then only new part is the term used for the flags. Somehow I've never seen it before
Once I started to use it I almost never used blame anymore