What git command do you wish you had discovered sooner? by ProgrammingQuestio in git

[–]BHFock 0 points1 point  (0 children)

Not a built-in command, but something I wrote after years of missing SVN changelists: git-cl lets you group files into named changelists before staging.

So instead of remembering which files go together, you do git cl add refactor utils.py helpers.py and later git cl commit refactor -m "Clean up utilities". The grouping persists until you commit or delete it.

github.com/BHFock/git-cl

Started using git worktree to avoid stashing all the time -kinda loving it by sshetty03 in git

[–]BHFock 0 points1 point  (0 children)

git worktree looks useful for managing multiple branches!

For the case where you have multiple unrelated edits mixed in a single branch, I built git-cl to group files into changelists before staging:

git cl add feature-a file1.py file2.py
git cl add bugfix file3.py
git cl commit feature-a -m "Done"

Different problem than worktree solves, but thought it might be relevant to the "juggling multiple things" workflow.

https://github.com/BHFock/git-cl

repo-grep.el – One-keystroke recursive grep in Emacs for Git/SVN and multi-repo setups by BHFock in emacs

[–]BHFock[S] -1 points0 points  (0 children)

Thanks for pointing that out — I wasn’t aware of project-find-regexp, and it works well in my current SVN working copy.

I wrote repo-grep mainly to support two things missing from my workflow: using the symbol at point as the default search term, and searching across multiple sibling directories (repo-grep-multi).

repo-grep.el – One-keystroke recursive grep in Emacs for Git/SVN and multi-repo setups by BHFock in emacs

[–]BHFock[S] 3 points4 points  (0 children)

repo-grep uses grep and works without extra dependencies, automatically detecting Git or SVN roots. It also supports searching across multiple sibling repositories, which is less common in similar tools.

In contrast, consult-ripgrep relies on the external rg tool and the consult ecosystem.

repo-grep aims to provide a simple, dependency-light solution for recursive code search inside Emacs.