Skip to content

Commit 26d969a

Browse files
committed
rn-129: Add links to news, articles, videos, tools, and services
1 parent ede3d80 commit 26d969a

File tree

1 file changed

+262
-2
lines changed

1 file changed

+262
-2
lines changed

rev_news/drafts/edition-129.md

Lines changed: 262 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,275 @@ This edition covers what happened during the months of October and November 2025
8181

8282
__Various__
8383

84+
- [What’s new in Git 2.52.0?](https://about.gitlab.com/blog/whats-new-in-git-2-52-0/)
85+
by Christian Couder, Patrick Steinhardt, Toon Claes on GitLab Blog.
86+
Highlights include `git last-modified` command,
87+
`git fast-export` and `git fast-import` signature-related improvements,
88+
new and improved `git maintenance` strategies,
89+
new subcommand for new `git repo` to display repository metrics, etc.
90+
- [Highlights from Git 2.52](https://github.blog/open-source/git/highlights-from-git-2-52/)
91+
by Taylor Blau on GitHub Blog.
92+
Mentions `git last-modified` command for tree-level blame information,
93+
advanced repository maintenance strategies for `git maintenance`,
94+
new sub-commands be added to `git refs`, new `git repo` command, etc.
95+
- [lakeFS Acquires DVC, Uniting Data Version Control Pioneers to Accelerate AI-ready Data](https://lakefs.io/media-mentions/lakefs-acquires-dvc-uniting-data-version-control-pioneers/)
96+
announcement by LakeFS on their Mentions Media page
97+
- [DVC Joins lakeFS: Your Questions Answered!](https://dvc.org/blog/dvc-joins-lakefs-your-questions-answered/)
98+
by Jeny De Figueiredo on DVC Blog.
99+
- [A Shared Vision for the Future of DVC](https://dvc.org/blog/a-shared-vision-for-the-future-of-dvc/)
100+
by Dmitry Petrov on DVC Blog.
101+
- See also [“Data Management” section of Awesome MLOps](https://github.com/kelvins/awesome-mlops#data-management),
102+
mentioned in [Git Rev News Edition #116](https://git.github.io/rev_news/2024/10/31/edition-116/),
103+
in which edition you can also find references to DVC and lakeFS,
104+
and other similar tools (though the list there is missing
105+
[Meltano](https://meltano.com/) (first mentioned in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/)) and
106+
[Pachyderm](https://www.pachyderm.com/) (first mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/)).
107+
- [20 Years of Git, 2 days at GitHub HQ: Git Merge 2025 highlights 🎉](https://github.blog/open-source/git/20-years-of-git-2-days-at-github-hq-git-merge-2025-highlights/)
108+
by Lee Reilly on GitHub Blog.
109+
See also [the previous edition of Git Rev News](https://git.github.io/rev_news/2025/10/31/edition-128/)
110+
for more links.
111+
84112

85113
__Light reading__
114+
86115
- [Version Control in the Age of AI: The Complete Guide](https://www.git-tower.com/blog/version-control-in-the-age-of-ai)
87-
<!---
116+
by Bruno Brito on Git Tower blog.
117+
- [Analyzing 10 years of accepted patch series to Git](https://benknoble.github.io/blog/2025/11/14/git-patch-series-length/)
118+
by D. Ben Knoble on his Junk Drawer personal blog.
119+
- [Mergiraf: syntax-aware merging for Git](https://lwn.net/Articles/1042355/)
120+
by Daroc Alden on LWN\.net.
121+
- [Mergiraf](https://mergiraf.org/introduction.html) is a merge-conflict resolver
122+
that uses a generic algorithm plus a small amount of language-specific knowledge
123+
to solve conflicts that Git's default strategy cannot.
124+
It was mentioned in [Git Rev News Edition #117](https://git.github.io/rev_news/2024/11/30/edition-117/).
125+
- The Mergiraf author recommends using the tool together with
126+
[Difftastic](https://difftastic.wilfred.me.uk/), a structural diff tool
127+
that understands syntax, mentioned in [Git Rev News Edition #86](https://git.github.io/rev_news/2022/04/30/edition-86/).
128+
- [Should I Switch From Git to Jujutsu](https://etodd.io/2025/10/02/should-i-switch-from-git-to-jujutsu/)
129+
by Evan Todd on his personal blog.
130+
- [Jujutsu (`jj`)](https://jj-vcs.github.io/) is a Git-compatible
131+
version control system written in Rust, which was first mentioned
132+
in [Git Rev News Edition #85](https://git.github.io/rev_news/2022/03/31/edition-85/).
133+
- See also [Switch to Jujutsu already: a tutorial](https://www.stavros.io/posts/switch-to-jujutsu-already-a-tutorial/)
134+
by Stavros on Stavros’ Stuff,
135+
mentioned in [the previous edition](https://git.github.io/rev_news/2025/10/31/edition-128/)
136+
- [Why Git is the first tool every new developer needs to learn](https://www.howtogeek.com/beginning-git-what-it-is-and-why-its-crucial/)
137+
by Graeme Peacock on How-To Geek.
138+
- [Git for Vibe Coders](https://www.kdnuggets.com/git-for-vibe-coders),
139+
just enough to stop Claude from accidently deleting your code and database.
140+
By Abid Ali Awan on KDnuggets.
141+
- [4 advanced git commands you probably haven't heard of](https://www.howtogeek.com/advanced-git-commands-you-probably-havent-heard-of/):
142+
[`git clean`](https://git-scm.com/docs/git-clean),
143+
[`git bisect`](https://git-scm.com/docs/git-bisect),
144+
[`git cherry-pick`](https://git-scm.com/docs/git-cherry-pick),
145+
[`git revert`](https://git-scm.com/docs/git-revert),
146+
by Bobby Jack on How-To Geek.
147+
- [Setting File Permissions in Git](https://www.tvaidyan.com/2025/11/13/setting-file-permissions-in-git/)
148+
by Tom Vaidyan on his personal blog;
149+
though I wonder why he shows low-level `git update-index --chmod=+x <file>` ("plumbing")
150+
first, instead of user-facing `git add --chmod=+x <file>` ("porcelain" command).
151+
- [Why You Should Be Using Git Worktrees](https://blog.randombits.host/why-you-should-be-using-git-worktrees/)
152+
by Conor in Quick Tip on their Random Bits personal blog
153+
(it includes their helper `gwc`, i.e. git worktree create, shell script).
154+
- [tree-me: Because git worktrees shouldn't be a chore](https://haacked.com/archive/2025/11/21/tree-me/)
155+
by Phil Haack on his You've Been Haacked blog.
156+
- [Use skip-worktree to ignore modified files](https://www.brandonpugh.com/til/git/skip-worktree-ignore-modified-files/)
157+
by Brandon Pugh in "TIL: Today I learned..." section on his blog.
158+
- [Managing Multiple Projects in One Repository: Submodules, Subtrees, Monorepos & Partial Cloning Explained](https://dev.to/k-kibet/managing-multiple-projects-in-one-repository-submodules-subtrees-monorepos-partial-cloning-21mc)
159+
by Kibet Korir (K-kibet) for Codespear on DEV\.to.
160+
- [Automatically switching Git Identities and SSH Keys on the same machine](https://dev.to/enbis/automatically-switching-git-identities-and-ssh-keys-on-the-same-machine-75n)
161+
with the help of `includeIf` directive in the `.gitconfig` file,
162+
by Enrico Bison (enbis) on DEV\.to. See also:
163+
- [Splitting SSH and git configs](https://iamjonfry.com/splitting-ssh-and-git-configs/)
164+
mentioned in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/).
165+
- [How to Use Multiple Git Configs on One Computer](https://www.freecodecamp.org/news/how-to-handle-multiple-git-configurations-in-one-machine/)
166+
mentioned in [Git Rev News Edition #71](https://git.github.io/rev_news/2021/01/28/edition-71/).
167+
- [How I configure my Git identities](https://www.benji.dog/articles/git-config/)
168+
mentioned in [Git Rev News Edition #117](https://git.github.io/rev_news/2024/11/30/edition-117/).
169+
- [One PC, Multiple Git Configs (This Will Save You Time!)](https://medium.com/@matteopampana/one-pc-multiple-git-configs-this-will-save-you-time-f702880744f7)
170+
mentioned in [Git Rev News Edition #120](https://git.github.io/rev_news/2025/02/28/edition-120/).
171+
- [Git: Amend any commit](https://ylan.segal-family.com/blog/2025/11/15/git-ammend-any-commit/)
172+
(scripting around `git commit --amend`, and `git commit --fixup` + `git rebase --autosquash`)
173+
by Ylan Segal on his "on.code && such" blog.
174+
- [If You Think YOUR Commit Messages Are Bad, Just Wait...](https://dev.to/sylwia-lask/if-you-think-your-commit-messages-are-bad-just-wait-3fgk)
175+
by Sylwia Laskowska on DEV\.to,
176+
with others providing more examples in comments.
177+
- [Mistakes I see engineers making in their code reviews](https://www.seangoedecke.com/good-code-reviews/)
178+
by Sean Goedecke on his blog.
179+
- [Testable Dotfiles Management With Chezmoi](https://shunk031.me/post/testable-dotfiles-management-with-chezmoi/)
180+
by Shunsuke Kitada (北田 俊輔), Ph.D. on shunk031\.me.
181+
- [Backing up my repositories to self-hosted Gitea](https://blog.kulman.sk/self-hosted-gitea-backup/)
182+
by Igor Kulman on his personal blog.
183+
- [Gitea](https://about.gitea.com/) is a Go-based software forge,
184+
a fork of [Gogs](https://gogs.io/).
185+
It was first mentioned in [Git Rev News Edition #23](https://git.github.io/rev_news/2017/01/25/edition-23/).
186+
- [Fixing Vercel's 'Git Author Must Have Access' Error](https://www.pavlinbg.com/posts/fix-vercel-git-author-error),
187+
which was caused by the way how Vercel handles multiple accounts.
188+
Written by Pavlin Gunov (PavlinBG) on his blog.
189+
- [Running DVC on a SLURM cluster](https://dvc.org/blog/dvc-slurm-cluster-exscientia/)
190+
by Dom Miketa on DVC Blog (2024).
191+
- [DVC](https://dvc.org/) (Data Version Control),
192+
an open-source version control system for data science projects,
193+
was first mentioned in [Git Rev News Edition #23](https://git.github.io/rev_news/2017/01/25/edition-23/).
194+
195+
88196
__Easy watching__
89-
-->
197+
198+
- [How to ensure the Git community is / stays healthy: Emily Shaffer / Patrick Steinhardt & guests](https://www.youtube.com/watch?v=vKsOFHNSb4Q)
199+
on GitButler on YouTube [44:42].
200+
90201

91202
__Git tools and sites__
92203

204+
- [gitlogue](https://github.com/unhappychoice/gitlogue)
205+
is a cinematic Git commit replay tool for the terminal,
206+
turning your Git history into a living, animated story;
207+
with realistic typing animations, syntax highlighting, and file tree transitions,
208+
transforming code changes into a visual experience.
209+
Written mainly in Rust, under ISC License.
210+
- [PyDriller](https://github.com/ishepard/pydriller) is a Python framework
211+
that helps developers in analyzing Git repositories.
212+
With PyDriller you can easily extract information about
213+
commits, developers, modified files, diffs, and source code.
214+
Written in Python, under Apache 2.0 license.
215+
- [tree-me](https://github.com/haacked/dotfiles/blob/main/bin/tree-me)
216+
is a minimal git worktree helper
217+
that leverages git's native capabilities.
218+
It uses git-like subcommands and follows conventions so you don’t have to think:
219+
auto-detects repository name from your git remote,
220+
auto-detects default branch, organizes by repo, provides tab completion, etc.
221+
Single bash script, part of [haacked dotfiles](https://github.com/haacked/dotfiles).
222+
No license.
223+
- See also [Worktree Manager](https://github.com/jarredkenny/worktree-manager) (wtm),
224+
a fast, modern CLI tool for managing Git worktrees in bare repositories,
225+
mentioned in [Git Rev News Edition #128](https://git.github.io/rev_news/2025/10/31/edition-128/).
226+
- [Spelungit](https://github.com/haacked/spelungit) is a Model Context Protocol (MCP) server
227+
for exploring Git commit history using semantic search.
228+
With this tool you can search through commits with natural language commands
229+
like "Search git history to find out why was this class added?",
230+
or "search_commits(query="authentication login changes", limit=5)".
231+
Uses Microsoft's all-MiniLM-L6-v2 embeding model via [sentence-transformers](https://www.sbert.net/),
232+
or deterministic hash-based embeddings when sentence-transformers is unavailable.
233+
Written in Python (with a few Bash scripts), under MIT License.
234+
- See also [Spelungit: When `git log --grep` isn't enough](https://haacked.com/archive/2025/09/29/announcing-spelungit/)
235+
by Phil Haack on You've Been Haacked blog.
236+
- [forgit](https://github.com/wfxr/forgit) is a utility tool
237+
powered by [fzf](https://github.com/junegunn/fzf) (command-line fuzzy finder)
238+
for using Git interactively.
239+
Written in shell, under MIT license.
240+
- [gitnr](https://github.com/reemus-dev/gitnr) is a cross-platform CLI utility
241+
to create `.gitignore` files using one or more templates
242+
from [TopTal](https://github.com/toptal/gitignore) (<https://gitignore.io>),
243+
[GitHub](https://github.com/github/gitignore), or your own collection.
244+
Written in Rust, under MIT License.
245+
- [`mani`](https://manicli.com/) is a CLI tool
246+
that helps you manage multiple repositories.
247+
It's useful when you are working with microservices, multi-project systems,
248+
multiple libraries, or just a collection of repositories
249+
and want a central place for pulling all repositories and running commands across them.
250+
Written in Go, under MIT License.
251+
- [eget](https://github.com/zyedidia/eget) is a command-line tool
252+
for easily fetching and extracting pre-built binaries from GitHub releases.
253+
Written in Go, under MIT License.
254+
- [dunk](https://github.com/darrenburns/dunk) is a tool
255+
to provide prettier git diffs in the terminal
256+
by pipe-ing `git diff` output into it (`git diff | dunk` or `git diff | dunk | less -R`).
257+
In is very early stages of development.
258+
Written in Python, under MIT License.
259+
- See also [git-delta](https://dandavison.github.io/delta/),
260+
a syntax-highlighting pager for git, diff, grep, and blame output.
261+
It was first mentioned in [Git Rev News Edition #86](https://git.github.io/rev_news/2022/04/30/edition-86/),
262+
though there is another [delta](https://github.com/octavore/delta)
263+
command-line diff tool which was first mentioned in [edition #9](https://git.github.io/rev_news/2015/11/11/edition-9/).
264+
- See also [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) tool,
265+
which beside piping `git diff` output to it,
266+
can also be used as `core.pager` and `interactive.diffFilter`.
267+
It was first mentioned in [Git Rev News Edition #13](https://git.github.io/rev_news/2016/03/16/edition-13/).
268+
- There is also [`contrib/diff-highlight`](https://github.com/git/git/tree/master/contrib/diff-highlight)
269+
diff pager script in the Git repository, written in Perl.
270+
It was mentioned in [Git Rev News Edition #53](https://git.github.io/rev_news/2019/07/24/edition-53/).
271+
- [GitType](https://github.com/unhappychoice/gittype) is a CLI tool
272+
that turns your own source code into typing challenges.
273+
Because why practice with boring [lorem ipsum](https://www.lipsum.com/)
274+
when you can type your beautiful `fn main()` implementations?
275+
Written in Rust, under MIT License.
276+
- [Serie](https://github.com/lusingander/serie) is a TUI tool that
277+
provides rich git commit graph in your terminal.
278+
Written in Rust, under MIT License.
279+
- See also [tig](https://jonas.github.io/tig/),
280+
an ncurses-based text-mode interface for Git,
281+
first mentioned in [Git Rev News Edition #18](https://git.github.io/rev_news/2016/08/17/edition-18/).
282+
- [prettydiff](https://github.com/prettydiff/prettydiff) is a beautifier and language aware
283+
code comparison tool for many languages. It also minifies and a few other things.
284+
There is web service showing how the tool works at <https://prettydiff.com/tool.xhtml>.
285+
Written in TypeScript and HTML,
286+
under [CC0](https://creativecommons.org/public-domain/cc0/) license.
287+
- [fnox: Fort Knox for your secrets](https://fnox.jdx.dev/)
288+
is a tool to manage secrets with encryption, or cloud providers, or both.
289+
Fnox uses a simple TOML config file (`fnox.toml`) that you check into Git;
290+
secrets are either encrypted inline, or provided as references
291+
that points to a secret in age, AWS, 1Password, etc.
292+
Written in Rust, under MIT License.
293+
- [asdf](https://asdf-vm.com/guide/introduction.html) is a tool version manager.
294+
All tool version definitions are contained within one file (`.tool-versions`)
295+
which you can check in to your project's Git repository to share with your team,
296+
ensuring everyone is using the exact same versions of tools.
297+
Written mainly in Bash and Go, under MIT License.
298+
- [grebedoc.dev](https://grebedoc.dev/) is a service
299+
that offers static site hosting for Git forges;
300+
it publishes the `pages` branch in your Git repository as a website on your domain.
301+
More specifically, it is a public deployment of
302+
[git-pages](https://codeberg.org/git-pages/git-pages)
303+
and [Caddy](https://caddyserver.com/), configured to work especially with
304+
[Codeberg](https://codeberg.org/) but also with other Git forges.
305+
It is operated by Catherine 'whitequark' and teammates.
306+
- Compare with [GitHub Pages](https://docs.github.com/en/pages),
307+
[GitLab Pages](https://docs.gitlab.com/user/project/pages/),
308+
[static websites on Bitbucket Cloud](https://support.atlassian.com/bitbucket-cloud/docs/publishing-a-website-on-bitbucket-cloud/),
309+
[Codeberg Pages](https://codeberg.page/) (can't guarantee high availability),
310+
[sourcehut pages](https://srht.site/), and
311+
[Cloudflare Pages](https://pages.cloudflare.com/) (JAMstack platform), etc.
312+
- [gitsuggest](https://github.com/csurfer/gitsuggest) is a tool
313+
to suggest GitHub repositories based on the repositories you have shown interest in
314+
by “starring”. It is using Latent Dirichlet Allocation (LDA) method.
315+
There is also [gitSuggest](http://www.gitsuggest.com/) service (in beta), on Heroku.
316+
Written on Python, under MIT License.
317+
- [Josh](Just One Single History) ([repo](https://github.com/josh-project/josh))
318+
is a tool that combines the advantages of monorepos with those of multirepos
319+
by leveraging a blazingly-fast, incremental, and reversible implementation
320+
of git history filtering.
321+
Note that to guarantee filters are reversible
322+
Josh restricts the kind of filter that can be used.
323+
Use cases include partial cloning, workspaces, simplified CI/CD;
324+
this tool also provides GraphQL API.
325+
Josh is distributed via [Docker Hub](https://hub.docker.com/r/joshproject/josh-proxy),
326+
and you can start it with appropriate `docker run` command.
327+
See its [Frequently Asked Questions](https://josh-project.github.io/josh/faq.html#frequently-asked-questions)
328+
for comparison with `git sparse-checkout`, partial clone, submodules, `git subtree`,
329+
and `git filter-repo`.
330+
Written mainly in Rust, under MIT License.
331+
- [Furgit](https://villosa.lindenii.org/furgit//repos/furgit/)
332+
([GitHub mirror](https://github.com/runxiyu/furgit))
333+
is a fast Git library in pure Go (and a little bit of optional Go Assembly).
334+
Written for [Lindenii Villosa](https://villosa.lindenii.org/villosa//repos/villosa/)
335+
(successor to [Lindenii Forge](https://forge.lindenii.org/forge/-/repos/server/)),
336+
a software forge primarily designed for self-hosting
337+
by small organizations and individuals.
338+
Under AGPL 3.0 license.
339+
- [git-embigenner](https://github.com/veqqq/git-embigenner)
340+
is a very simple shell script to cheat a highscore on GitHub,
341+
which will spam commits to populate your profile's contribution graph.
342+
- Compare with [Git Draw](https://github.com/ben174/git-draw),
343+
a Chrome extension which will allow you to freely draw on your GitHub heatmap,
344+
mentioned in [Git Rev News Edition #12](https://git.github.io/rev_news/2016/02/10/edition-12/)<br>
345+
and [gitfiti](https://github.com/gelstudios/gitfiti),
346+
a tool for crafting graffiti in a GitHub commit history calendar,
347+
mentioned in [Git Rev News Edition #41](https://git.github.io/rev_news/2018/07/18/edition-41/).
348+
- Contrast [Vigilante Justice on GitHub: GitHub Graffiti](https://trufflesecurity.com/blog/vigilante-justice-on-github) by Dylan Ayrey,
349+
mentioned in [Git Rev News Edition #118](https://git.github.io/rev_news/2024/12/31/edition-118/),
350+
about how you can paint funny pixel art (graffiti) with fake commit Git histories
351+
on spammer/phisher’s GitHub profiles (on their activity heatmap plot)
352+
93353

94354
## Releases
95355

0 commit comments

Comments
 (0)