Best of GitApril 2026

  1. 1
    Video
    Avatar of primeagenThePrimeTime·4w

    Vim Has A 0-Day????

    Claude AI discovered a remote code execution (RCE) vulnerability in Vim triggered by Vim's modeline feature, which allows files to embed and auto-execute editor commands on open. The exploit chains modeline commands to set up a tab panel expression that registers an autocommand, ultimately executing arbitrary shell commands when a malicious file is opened. A second vulnerability attributed to Emacs is also covered, but the author argues it's actually a Git fsmonitor config exploit — not an Emacs bug — that executes arbitrary scripts whenever git status is run inside a maliciously crafted repository. The author praises the Vim find as genuinely clever while criticizing the Emacs report as a misattributed bug that wastes maintainer time, drawing parallels to similar issues with cURL's HackerOne program.

  2. 2
    Article
    Avatar of itsfossIt's Foss·5w

    Git Isn’t Just for Developers. It Might Be the Best Writing Tool Ever

    A novelist and writer argues that Git and plain text are the ideal tools for managing creative writing, not just code. Drawing from a near-disaster when a colleague lost her manuscript on a USB drive, the author describes a six-year journey migrating all writing to plain text files in a Git mono-repo. Git's commit history becomes a 'time machine' documenting the evolution of creative work, while plain text ensures longevity and portability across decades. The piece frames this as a political stance against platform lock-in, AI scraping, and the fragility of proprietary cloud tools, advocating for self-hosted, version-controlled, openly licensed writing studios designed to outlive their creators.

  3. 3
    Article
    Avatar of minersThe Miners·3w

    Jujutsu (JJ): An Alternative to Git? Jujutsu proposes to be simpler yet more powerful than Git. But is it worth switching? Let's find out.

    Jujutsu (JJ) is a version control tool that uses Git repositories as its storage layer while offering a simpler, more flexible workflow. Key differences from Git include no staging area (changes are automatically tracked), conflicts stored in commits for later resolution, automatic rebasing of descendant commits, and a focus on 'changes' rather than branches. The post walks through practical JJ commands including jj git init, jj describe, jj new, jj squash, jj abandon, and jj log, while introducing concepts like change ids vs commit ids, revsets, the Squash Workflow, and the Edit Workflow. The VisualJJ VSCode extension is also recommended for visualizing change history.

  4. 4
    Article
    Avatar of phProduct Hunt·5w

    One command to back up every Git repo you have; and more! - git-fire

    git-fire is a new open-source CLI tool (MIT licensed, built in Go) that backs up all local Git repositories with a single command. It discovers repos, auto-commits dirty work, and pushes backup branches safely. Key features include dry-run preview, streaming pipeline, secret detection before auto-commits, no force-push, plugin support, structured logs with 250+ tests, and a Bubble Tea TUI with fire animation. It also supports an agent stop-hook use case for checkpointing AI coding sessions. A USB mode for writing backups to mounted disks is planned. The companion library git-testkit provides Go test helpers for building Git fixture repos.

  5. 5
    Article
    Avatar of lwnLWN.net·3w

    Git 2.54.0 released

    Git 2.54.0 has been released by maintainer Junio Hamano. This release includes contributions from 137 people, 66 of whom are first-time contributors. Notable changes include the addition of Git history rewriting functionality and mobile-friendly improvements to gitweb, Git's web interface. Hamano announced he will be taking a couple of weeks offline following the release, with no designated interim maintainer but trusting the community to self-organize.

  6. 6
    Article
    Avatar of hnHacker News·4w

    pgit: I Imported the Linux Kernel into PostgreSQL

    pgit, a Git-like CLI that stores repository history in PostgreSQL using delta compression, successfully imported the entire Linux kernel history: 1,428,882 commits, 24.4 million file versions, and 20 years of development in 2 hours on a Hetzner dedicated server. The resulting 6.6 GB PostgreSQL database (2.7 GB actual data) enables SQL queries across the full history in seconds. Analysis reveals: 38,506 unique authors with 25:1 contributor-to-committer ratio, 90% of commits touching 5 or fewer files, Intel i915 and Btrfs as the most tightly coupled subsystems, David S. Miller merging 7.9% of all commits, Intel leading corporate contributions, and quirky findings like 7 f-bombs in commit messages (from 2 people), 665 bug fixes pointing to the initial git import commit, and bcachefs taking 13 years to merge into mainline.

  7. 7
    Article
    Avatar of allthingsopenAll Things Open·2w

    5 practical tips for learning Linux tools

    Five practical strategies for learning Linux tools without feeling overwhelmed. Key advice includes learning in small chunks (start with just the core commands of Vim or Git), integrating tools into real workflows, using passion projects like Home Assistant as motivation, choosing specialties based on personal interest rather than job pressure, and mastering the history command as a built-in learning aid.

  8. 8
    Article
    Avatar of hnHacker News·2w

    Soft launch of open-source code platform for government

    The Dutch government has soft-launched code.overheid.nl, a self-hosted, government-wide platform for publishing and developing open-source software. Built on Forgejo — an open-source, European alternative to GitHub and GitLab — the platform is currently in pilot phase and not yet available to all government organisations. It is initiated by the Open Source Program Office at the Ministry of the Interior and Kingdom Relations, with the goal of growing it into a shared Git platform for government bodies. Developers are invited to contribute.

  9. 9
    Article
    Avatar of jetbrainsJetBrains·3w

    Speeding up interactive rebase in JetBrains IDEs

    JetBrains engineers implemented an in-memory interactive rebase optimization for JetBrains IDEs, reducing execution time from tens of seconds to a few seconds on large repositories like the IntelliJ monorepo. Instead of checking out commits sequentially and updating the working tree and index, the IDE now uses Git plumbing commands (git cat-file, git commit-tree, git merge-tree, git update-ref) to rebuild commit chains entirely in memory. If a merge conflict is detected, it falls back to the standard Git rebase. The optimization covers reword, drop, squash, and extract-to-separate-commit operations. EAP telemetry confirmed consistent improvements across macOS, Windows, and Linux, with ~12% of rebases encountering conflicts that trigger the fallback. The feature ships by default in the 2026.1 release.