# sindrets/diffview.nvim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sindrets-diffview-nvim).**

5,356 stars · 170 forks · Lua · other

## Links

- GitHub: https://github.com/sindrets/diffview.nvim
- awesome-repositories: https://awesome-repositories.com/repository/sindrets-diffview-nvim.md

## Topics

`diff` `git` `neovim` `neovim-lua` `neovim-lua-plugin` `neovim-plugin`

## Description

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.

## Tags

### Development Tools & Productivity

- [Git Diff Viewers](https://awesome-repositories.com/f/development-tools-productivity/git-diff-viewers.md) — Provides a dedicated Neovim interface for visualizing and managing Git diffs across files and revisions.
- [Revision Comparison](https://awesome-repositories.com/f/development-tools-productivity/git-diff-viewers/revision-comparison.md) — Provides a dedicated interface to compare the working tree or index against specific Git tags, branches, or commits. ([source](https://cdn.jsdelivr.net/gh/sindrets/diffview.nvim@main/README.md))
- [Index Staging Operations](https://awesome-repositories.com/f/development-tools-productivity/file-indexing-utilities/staged-file-indexers/index-staging-operations.md) — Updates the git index by editing and staging specific diff hunks directly from a visual view.
- [Git History Navigation](https://awesome-repositories.com/f/development-tools-productivity/project-history-navigation/git-history-navigation.md) — Lists commits affecting specific paths and traces the history of line ranges across the project.
- [File Evolution Tracking](https://awesome-repositories.com/f/development-tools-productivity/version-control-file-operations/file-evolution-tracking.md) — Traces the evolution of specific files and line ranges across multiple commits using logs.
- [Buffer-Based Hunk Staging](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/repository-utilities/working-directory-controllers/interactive-staging-interfaces/buffer-based-hunk-staging.md) — Provides a buffer-based interface for staging specific diff hunks to the Git index directly from a diff view.
- [File Restoration](https://awesome-repositories.com/f/development-tools-productivity/file-restoration.md) — Allows reverting a file to a previous state based on specific versions displayed in a diff split. ([source](https://cdn.jsdelivr.net/gh/sindrets/diffview.nvim@main/README.md))
- [Merge Conflict Resolution](https://awesome-repositories.com/f/development-tools-productivity/merge-conflict-resolution.md) — Compares branch versions using a multi-way diff layout to settle conflicts during merges or rebases.
- [Conflict Resolution Editors](https://awesome-repositories.com/f/development-tools-productivity/merge-conflict-visualizers/conflict-resolution-editors.md) — Implements a multi-way diff layout for comparing target and source branches to settle conflicts during merges.
- [Composite Diff Buffers](https://awesome-repositories.com/f/development-tools-productivity/side-by-side-diff-viewers/composite-diff-buffers.md) — Represents git diffs using composite buffers to allow direct modification of the index and working tree.

### DevOps & Infrastructure

- [Git Command Execution](https://awesome-repositories.com/f/devops-infrastructure/git-command-execution.md) — Executes git shell commands to fetch file contents and diff data from the version control system.
- [Version Control Utilities](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities.md) — Provides capabilities for restoring previous file states and browsing historical revisions.

### Software Engineering & Architecture

- [Buffer-Based Hunk Staging](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/repository-maintenance/repository-metadata/commit-histories/snapshot-committing-utilities/staging-buffers/index-based-staging/buffer-based-hunk-staging.md) — Performs direct index updates by editing buffers that represent the Git index within the diff view. ([source](https://cdn.jsdelivr.net/gh/sindrets/diffview.nvim@main/README.md))

### User Interface & Experience

- [Synchronized Diff Layouts](https://awesome-repositories.com/f/user-interface-experience/window-management/multi-window-controllers/synchronized-diff-layouts.md) — Coordinates multiple split windows to synchronize scrolling and display versions of files from different git revisions.
