A great CLI terminal GUI.
https://github.com/jesseduffield/lazygit
Another tool to consider is Git Butler.
02:27 Installing Lazygit
03:37 Lazygit interface
04:30 Staging a File
05:51 Creating a new branch
06:28 Committing a file
06:55 Pushing a commit
07:15 Rebase
07:53 Resolve conflicts
My .bash.d/lazygit.sh
script to remind me to install it:
if ! command -v lazygit > /dev/null 2>&1 ; then
echo "no lazygit. Setting up the function install_lazygit"
function install_lazygit() {
pushd .
cd /tmp/
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
install lazygit $HOME/.local/bin
popd
}