30 open-source projects similar to sindrets/diffview.nvim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Diffview.nvim alternative.
Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag
Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job control API to avoid blocking the UI. The plugin distinguishes itself by enabling hunk-level staging and resetting directly
GitExtensions is a graphical user interface client for managing Git repositories. It provides a suite of visual tools for browsing commit logs, staging changes, and tracking file evolution across a project's history. The project features a commit visualizer that maps branch and merge relationships via a graphical map and a dedicated history manager for performing interactive rebases and squashing commits. It includes a visual merge conflict resolver to identify and fix overlapping code changes during merges or history rewrites. The software covers broad version control capabilities, includin
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
git-history is a visual tool and extension designed for browsing and visualizing the commit history of individual files within Git repositories. It provides a graphical interface for exploring version control history as an alternative to raw command line logs. The project enables the browsing of version history for files hosted on external version control platforms without requiring a full repository clone. It also supports the analysis of files stored in local repositories through a command line interface or editor extension. The tool facilitates version control audit workflows to track how
GitLens is a Git extension for VS Code that brings inline blame annotations, CodeLens authorship information, and an interactive commit graph directly into the editor. It provides a visual timeline of repository history with color-coded branch relationships, search, and filtering, alongside file-level annotations that show who last changed each line and why. The extension also functions as a cross-provider pull request manager, integrating with GitHub, GitLab, Bitbucket, and Azure DevOps to centralize PR and issue tracking within the IDE. What distinguishes GitLens is its AI-powered Git assis
forgit is a shell-based interactive CLI wrapper that uses a fuzzy finder to transform Git output into selection menus. It functions as a workflow accelerator and history browser, replacing manual command entry with searchable interfaces for version control operations. The tool provides specialized managers for Git worktrees and an interactive history browser for visualizing commit logs, reflogs, and blame data. It differentiates itself by wrapping native Git subcommands in selection logic, allowing users to pick targets before executing final operations. Its capabilities cover interactive fi
Neogit is a visual Git version control client designed for managing repositories through staging, committing, pushing, and merging. It provides a suite of tools for inspecting code differences, visualizing commit history via a graphical branch tree, and automating event-based workflows. The project features a workflow automation system that triggers custom logic and notifications based on repository events, such as branch creation or pushes. It also includes utilities for generating direct deep-links to commits, pull requests, and file structures on remote version control hosting providers.
This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign column to indicate added, modified, or removed lines relative to the Git index, allowing users to visualize diffs and compare buffer versions side-by-side. The plugin extends the editor's text objects to target specific blocks of modified lines, enabling the use of standard operators on these contiguous hunks. It also provides tools to stage or undo individual blocks of changes directly within the editor. Additional capabilities include navigation utilities for jumping between
This is a structured, gamified learning resource for Git and GitHub. It guides learners through code versioning fundamentals using a progression of themed levels and achievements, covering everything from initial repository setup to advanced collaboration workflows. The material is organized around core Git concepts such as branch isolation, commit snapshots, pull request workflows, remote synchronization, and stash management, all supported by a structured glossary of versioning terms. The project distinguishes itself by teaching Git and GitHub workflows through a hands-on, achievement-based
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
This project is an educational resource providing a detailed command reference, tutorial collections, and structured guides for mastering version control. It serves as a set of Chinese language tutorials based on international community best practices, designed to help users learn both the core concepts and practical applications of Git. The resource focuses on specific workflow guides for managing feature development, release cycles, and collaborative forking strategies. It pairs theoretical version control concepts with practical command-line examples to demonstrate real-world application.
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
This repository contains the comprehensive documentation for a code editor focused on AI-assisted software development and remote development workflows. It covers the implementation of AI agents and language models used for autonomous code generation, large-scale refactoring, and task iteration. The project is distinguished by its deep integration of autonomous AI agents capable of web navigation, application logic validation, and orchestrating multi-step development processes. It provides specialized frameworks for tailoring AI behavior through custom instructions, model context protocols, a
zimfw is a Zsh configuration framework and plugin manager designed to customize and optimize the Zsh shell environment. It functions as a system for installing, updating, and pinning shell extensions and themes from remote or local repositories. The framework focuses on shell performance by using byte-code compilation of scripts to reduce startup time and improve execution speed. It employs a declarative configuration model for module management, allowing for version-pinned dependency resolution and the ability to fetch modules without full git clones to accelerate installation. The project
vanilla-lazyload is a JavaScript lazy loading library and viewport-based asset loader designed to improve page load speed by deferring the loading of images, videos, iframes, and backgrounds. It functions as an intersection observer media loader that triggers resource downloads and script execution only when elements enter the browser viewport. The project also serves as a native lazy loading polyfill, utilizing native browser loading attributes where supported and providing a JavaScript fallback for older environments. The library distinguishes itself through active bandwidth management, suc
diff2html is a Git diff visualization library that transforms unified diff text into structured HTML. It serves as a renderer for visualizing code changes in web browsers, providing components to inject stylized diff visualizations and collapsible file lists directly into web page elements. The library enables both side-by-side and line-by-line code comparisons. It includes a syntax highlighting diff viewer that applies language-specific color coding to source code based on file extensions or manual mappings. To maintain alignment during reviews, the project implements synchronized scrolling
Delta is a command-line pager that enhances the readability of terminal output by applying syntax highlighting and structured formatting to text streams. It functions as a specialized interface for version control systems, transforming standard output into color-coded, human-readable views. The tool distinguishes itself through its ability to render side-by-side diff comparisons and visualize merge conflicts with clear, semantic highlighting. It dynamically calculates column widths and text alignment to fit complex file comparisons within the constraints of a terminal window, while allowing u
This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository management, staging, and commit operations directly into the text editor, allowing users to maintain project history and manage repository state without switching contexts. The plugin distinguishes itself by mapping version control operations to temporary text buffers, enabling users to manipulate repository data using standard editing commands. It utilizes a virtual file system to present historical commits, trees, and blobs as read-only buffers, facilitating navigation and
GitUI is a terminal-based interface for managing Git repositories, providing an interactive environment for executing version control operations, inspecting commit logs, and navigating file hierarchies. It functions as a keyboard-driven client that allows users to stage changes, manage branches, and review project history directly from the command line. The application distinguishes itself through a focus on interface responsiveness and user-defined workflows. It utilizes background thread offloading and asynchronous data caching to maintain performance during complex operations, while offeri
This project is a native implementation of the Git version control system for Go applications. It provides a programmable API and a low-level plumbing toolset that allows developers to manage repositories, manipulate object graphs, and perform version control operations without requiring external system binaries or C bindings. The library is distinguished by its flexible storage and network layers, featuring a virtual file system that enables in-memory repository management to bypass disk I/O. It supports pluggable network transports and interface-based storage backends, allowing for custom p
libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version control directly into applications. It serves as a linkable implementation of Git internals, allowing developers to manage repositories and manipulate version control data without requiring a system installation of the Git command line tool. The library functions as an embedded API and object database manager capable of reading and writing commits, trees, blobs, and tags. It includes a network transport client to handle the transfer of repository data over protocols such as SSH a
This project is a git commit simulator and activity graph generator designed to create dummy commits within a repository. It functions as a utility for customizing the visual appearance of a GitHub profile activity heatmap by simulating a history of contributions. The tool allows for the customization of commit density and frequency across specified date ranges. It can target specific date windows and exclude weekends to control the distribution and volume of simulated activity. The system manages the generation of these contributions by synthesizing commit timestamps and applying modificati
The Missing Semester is a free, open-source educational curriculum designed to bridge the gap between theoretical computer science and the practical tooling every software engineer needs. Organized as a structured course, it covers Unix shell mastery, version control with Git, software debugging and profiling, system administration fundamentals, and computer security practices — the skills often left out of traditional degree programs. The project is maintained as a collaborative set of lecture notes, exercises, and guides that function as both a professional development tools course and a Uni
This project is a version-controlled Git archive and software archaeology dataset containing the continuous evolution of Unix source code from 1970 to the present. It serves as a chronological record of system history, synthesizing a versioned code timeline from disparate historical snapshots. The archive enables longitudinal software analysis by reconstructing a sequence of commits and merges from fragmented releases. This allows for the tracking of system evolution and the attribution of specific lines of code to original authors through synthesized version control metadata. The dataset co
ZCF is a unified command-line environment manager that initializes, configures, and orchestrates multiple AI coding assistants within a single interface. It provides structured workflows for development, manages parallel Git worktrees, integrates Model Context Protocol (MCP) servers, and routes AI requests across multiple API providers to avoid vendor lock-in. The tool distinguishes itself by enabling parallel development streams through Git worktrees, allowing simultaneous work on multiple branches with natural language control. It supports task-based model routing that selects the most appr
This project is an interactive Git tutorial and version control simulator. It provides a visual learning environment where users practice Git commands through structured lessons and a simulated terminal that does not affect the local file system. The application functions as a branching visualizer, rendering a graphical representation of commit trees and branch pointers that update in real time as commands are executed. It allows for the creation of custom exercises and the sharing of specific command sequences via unique links. The software covers educational challenges for mastering reposi
GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It functions as a version control API and a wrapper that allows for the execution of Git commands and the manipulation of repository commits, branches, and working trees. The project acts as a Git object manipulator, allowing users to inspect and modify internal data structures and blobs. It provides a structured layer for executing command line instructions with integrated error handling and data retrieval. The library covers a wide range of capabilities including repository initializ
This project is a curated Git command reference and version control cheat sheet. It serves as a workflow guide for initializing projects, managing branches, and coordinating changes between local and remote environments. The documentation provides a categorized list of commands to manage file snapshots, commit histories, and general development workflows. It maps common version control tasks to their specific shell syntax for quick reference. The reference covers several primary capability areas, including branch management, history inspection, and remote synchronization. It also includes gu
This project is a Lua-based file explorer plugin for Neovim that provides a sidebar tree interface for navigating project directories. It functions as a file system node manipulator and a Git-integrated file manager, allowing users to interact with their project structure directly within the editor. The plugin distinguishes itself by integrating version control status into the visual tree, enabling users to track, stage, and unstage files through the explorer interface. It also features a public API that allows external scripts to trigger internal functions and subscribe to system events. Th