A Neovim plugin for working with git revisions.
Using lazy.nvim:
{
"someshkoli/git-rev.nvim",
config = function()
require("git-rev").setup({
-- your configuration options here
})
end
}Using packer.nvim:
use {
"someshkoli/git-rev.nvim",
config = function()
require("git-rev").setup({
-- your configuration options here
})
end
}require("git-rev").setup({
-- Add configuration options here
})Discard git changes on the current line or a range of lines.
" Discard changes on current line
:GitDiscard
" Discard changes on lines 10-20
:10,20GitDiscard
" Discard changes on visual selection (in visual mode)
:'<,'>GitDiscardDiscard all git changes in the current file.
:GitDiscardFileYou can also use the Lua API directly:
local git_rev = require("git-rev")
-- Discard current line
git_rev.discard_current_line()
-- Discard specific line range
git_rev.git_discard(10, 20)
-- Discard visual selection
git_rev.discard_visual_selection()
-- Discard entire file
git_rev.discard_file()You can set up custom key mappings in your configuration:
-- Discard current line
vim.keymap.set('n', '<leader>gd', function()
require('git-rev').discard_current_line()
end, { desc = 'Git discard current line' })
-- Discard visual selection
vim.keymap.set('v', '<leader>gd', function()
require('git-rev').discard_visual_selection()
end, { desc = 'Git discard selection' })
-- Discard entire file
vim.keymap.set('n', '<leader>gD', function()
require('git-rev').discard_file()
end, { desc = 'Git discard file' })- Discard changes on current line
- Discard changes on a range of lines
- Discard changes on visual selection
- Discard all changes in current file
- Confirmation prompts before discarding changes
- Works with any file in a git repository
MIT