Oct 17, 2025,
This lecture introduces LazyGit, a simple and user-friendly terminal interface for Git. It covers installation, key features, navigation, and demonstrates how to integrate LazyGit with Neovim for a more efficient development workflow.
brew install lazygit
lazygit --version
cd path/to/your/repo
lazygit
2 for files, 4 for commits)Tab to move forward, Shift+Tab to move backwardj/k (Vim-style).] (next) and [ (previous).Page Up/Page Down or your mouse.Ctrl+C to quit.M.Space to stage or unstage it.a.# Stage a single file
[select file] → Space
# Stage all files
a
Enter on a file to open a split view of changes.j/k to select a hunk, then press Space to stage/unstage.Tab and press Space.C to start a commit.Tab to add a description, then Enter to confirm.C
[Type commit message]
Tab
[Type description]
Tab
Enter
3.*.j/k or arrow keys to select a branch, then Space to switch.n, type the new branch name, and press Enter.n
example-feature-branch
Enter
Shift+M (capital M) and Enter to merge.Enter on the conflicted file.j/k to navigate hunks, Space to select the desired hunk, or B to pick all hunks.Enter to finish.[On conflicted file] → Enter
[Select hunk] → Space
Enter
? to open key bindings, then search for "push" with /.P (Shift+P) to push commits to the remote repository.P
4.Enter to view its details and changed files.Escape to return.? to view all available shortcuts for the current pane./ to filter key bindings, branches, or commits./stage to find staging shortcuts.Escape to exit search or filter modes.~/.config/nvim/lua/plugins.lua), add:
use {
  'kdheepak/lazygit.nvim',
  requires = { 'nvim-lua/plenary.nvim' }
}
vim.api.nvim_set_keymap('n', '<leader>lg', ':LazyGit<CR>', { noremap = true, silent = true })
<leader> is usually mapped to Space, so Space+lg opens LazyGit.Space+lg) to launch LazyGit inside Neovim.q or Ctrl+C.? and / frequently to discover shortcuts and filter actions.