Skip to content

Version Controlλ︎

There are several ways to interact with Git version control, although Practicalli recommends Neogit interactive git client and Octo to manage GitHub issues and pull requests

  • lazygit terminal UI (requires lazygit cli tool)
  • Neogit rich git client (similar to Emacs Magit), with Diffview integration
  • Octo for GitHub Issue and Pull Requests
  • Open files & lines in Git website
  • Shell out to the command line, :!
  • Git commands in Neovim terminal buffer

Common Git actionsλ︎

Initialise local repository"λ︎

Space t f opens floating terminal window in the current root directory root (use :cd to change the root directory).

git init .

Stage change in bufferλ︎

The current hunk or the whole buffer can be staged from the buffer using Git Signs, saving a trip to the Git Status buffer.

Space g H stages the current hunk

Space g S stages the current buffer

Git Statusλ︎

Space g g opens lazygit terminal UI client

AstroNvim Git - Lazygit status AstroNvim Git - Lazygit status

Space g n ++"t" opens neogit in a new tab for Magit style experience

Neovim Neogit plugin - git status buffer Neovim Neogit plugin - git status buffer

Open in Git websiteλ︎

Space g z to open a git controlled file or visually selected lines in the Git sharing website (e.g. GitHub, GitLab)

Space g y to yank the URL for the current file or visually selected lines.

gitlinker.nvim plugin provides via Astrocommunity

GitHub Issues & Pull Requestsλ︎

Interact with the remote GitHub repository using Octo

List issues from a specific repository

:Octo issue list practicalli/neovim

Neovim Octo GitHub Issues list for practicalli/neovim

Create a pull request on a specific repository

:Octo pr create practicalli/neovim