awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
sindrets avatar

sindrets/diffview.nvim

0
View on GitHub↗
5,356 stars·170 forks·Lua·other·13 views

Diffview.nvim

diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits.

The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases.

Beyond basic diffing, the tool covers file history tracing and version restoration, enabling users to list commits for specific paths and revert files to previous historical states.

Features

  • Git Diff Viewers - Provides a dedicated Neovim interface for visualizing and managing Git diffs across files and revisions.
  • Revision Comparison - Provides a dedicated interface to compare the working tree or index against specific Git tags, branches, or commits.
  • Index Staging Operations - Updates the git index by editing and staging specific diff hunks directly from a visual view.
  • Git History Navigation - Lists commits affecting specific paths and traces the history of line ranges across the project.
  • File Evolution Tracking - Traces the evolution of specific files and line ranges across multiple commits using logs.
  • Buffer-Based Hunk Staging - Provides a buffer-based interface for staging specific diff hunks to the Git index directly from a diff view.
  • Git Command Execution - Executes git shell commands to fetch file contents and diff data from the version control system.
  • Buffer-Based Hunk Staging - Performs direct index updates by editing buffers that represent the Git index within the diff view.
  • File Restoration - Allows reverting a file to a previous state based on specific versions displayed in a diff split.
  • Merge Conflict Resolution - Compares branch versions using a multi-way diff layout to settle conflicts during merges or rebases.
  • Conflict Resolution Editors - Implements a multi-way diff layout for comparing target and source branches to settle conflicts during merges.
  • Composite Diff Buffers - Represents git diffs using composite buffers to allow direct modification of the index and working tree.
  • Version Control Utilities - Provides capabilities for restoring previous file states and browsing historical revisions.
  • Synchronized Diff Layouts - Coordinates multiple split windows to synchronize scrolling and display versions of files from different git revisions.

Star history

Star history chart for sindrets/diffview.nvimStar history chart for sindrets/diffview.nvim

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does sindrets/diffview.nvim do?

diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits.

What are the main features of sindrets/diffview.nvim?

The main features of sindrets/diffview.nvim are: Git Diff Viewers, Revision Comparison, Index Staging Operations, Git History Navigation, File Evolution Tracking, Buffer-Based Hunk Staging, Git Command Execution, File Restoration.

What are some open-source alternatives to sindrets/diffview.nvim?

Open-source alternatives to sindrets/diffview.nvim include: magit/magit — Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control… lewis6991/gitsigns.nvim — Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging… gitextensions/gitextensions — GitExtensions is a graphical user interface client for managing Git repositories. It provides a suite of visual tools… sinelaw/fresh — Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar… pomber/git-history — git-history is a visual tool and extension designed for browsing and visualizing the commit history of individual… rgburke/grv — grv is a terminal-based version control client and interactive Git repository browser. It functions as a terminal user…

Open-source alternatives to Diffview.nvim

Similar open-source projects, ranked by how many features they share with Diffview.nvim.
  • magit/magitmagit avatar

    magit/magit

    7,138View on GitHub↗

    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

    Emacs Lisp
    View on GitHub↗7,138
  • lewis6991/gitsigns.nvimlewis6991 avatar

    lewis6991/gitsigns.nvim

    6,575View on GitHub↗

    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

    Luagitluaneovim
    View on GitHub↗6,575
  • gitextensions/gitextensionsgitextensions avatar

    gitextensions/gitextensions

    8,361View on GitHub↗

    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

    C#gitgit-clientgit-gui
    View on GitHub↗8,361
  • sinelaw/freshsinelaw avatar

    sinelaw/fresh

    5,914View on GitHub↗

    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

    Rustideterminal-basedtext-editor
    View on GitHub↗5,914
See all 30 alternatives to Diffview.nvim→