Forgit and Lazygit. The 2 Git tools to supercharge your git workflow?

Search for a command to run...

No comments yet. Be the first to comment.
If you have worked with the Solana Wallet Adapter before, you will know that it is very easy to set up a Connect Wallet button with a decent modal. However, customization is pretty limited. We can only add some custom CSS hence changing the styles bu...

And CandyPay QR Codes which people can scan to claim the NFT in under 15 seconds

As developers, most of us use the terminal to interact with our computers for many tasks as we find it more productive. We are familiar with commands like ls, cd, cat, grep, and find. These are primarily pre-installed on our computers and mostly get ...

Authentication in Web3 is extremely easy but supporting all the wallets and making a nice UI can be painful and time-consuming. Thankfully, there are many libraries which makes this extremely easy as well. Today we are going to be looking at adding R...

Most of us use version control systems (mostly git) for our projects but the git CLI is unproductive. We often need to run multiple commands and got to type more characters.
Well, what if I told you there are tools that can improve this significantly. We are going to be looking at 2 tools today, forgit and lazygit. Both of these tools let us do many of our day-to-day git tasks, interactively and come with a LOT of keyboard shortcuts.
Forgit, a simple and lightweight wrapper around git commands which uses fzf to provide interactivity to git commands (and some more goodies :D).
For example, this is how the ga (git add equivalent) looks like -

YES, that is a diff view!
Oh and it is not limited to just staging files, there are many more interactive commands (each with its own alias :D )
Want to explore all the previous git commits? Run glo -

Want to see the list of branches and checkout to the appropriate one? Use gcb -

And there are more! For a full list, you can see the features section in the forgit README
Lazygit on the other hand is a TUI written in Go and is crazy powerful. This is how it looks like -

Yeah those are a lot of panes indeed. Files can be staged/unstaged easily by pressing Space and pressing c brings up a modal for writing a commit message -

Once you are done writing the commit message, press Enter and the changes get committed :D
Oh and we can see a log of everything we do as well as any command output -

And for all of us who hate using the mouse (although lazygit has mouse support), there are a TON of keyboard shortcuts -

You can see look at some more things it can do (like resolving merge conflicts and interactive rebasing) in the lazygit README.
So, which one should you use? This depends on your use case and how you want to use the tools.
I personally use the git CLI, forgit, lazygit, and the vscode source control panel depending on what I'm doing. I always use lazygit inside neovim but when I am using vscode, it is mostly forgit and the git CLI (I rarely use the source control pane).