Some Tools to Help Present Git

I’m presenting soon on Advanced Git. I feel a lot of Developers and DevOps engineers know enough git to the job, but sometimes that’s it. I want to help people be more comfortable with the git command line, and help alleviate some fear or hesitation in dealing with git edge cases.

While researching things, I came across a few neat tools I’m using to help describe things.

GitGraphJS

What is great about this tool is that I can draw git commit graphs pretty easily to describe what is happening as you execute commands. It helps create great graphs like this:

I’ve got a project where i can have each example laid out for discussion, and because its Javascript, I can change things and show the result easily. This tools is great for slides and lecturing, but I also like having people put hands on keyboards and try things.

Windows Terminal

I do a lot of development on windows. CMD.exe isn’t the best experience to use or present with. The same can be said of regular powershell. I’ve leveraged git bash in the past, it works pretty well. But I have completely fallen in love with the Windows Terminal. Multiple profiles (for bash, wsl, powershell, cmd), a great font, and nice scalability, I’ve finally found a nice shell on windows.

Oh My _______

If you aren’t familiar with Oh My Posh (powershell), Oh My Bash (bash), or Oh My Zsh (zsh) please pay attention. These tools add some awareness to your shell experience. If you ‘cd’ into git folders, it can show the branch, how far ahead or behind you are, and many other details. It gives you situational awareness about where you are and your current state. There are also many themes to tweak and customize your command line.

Git GUIs

I don’t use git GUIs in my day to day workflow. I typically interact with git via a command line. But there are some times when a gui is very helpful. Complex merges and rebases can be made clearer via gui, as well as a clear visualization of the git history. Don’t get me wrong, I can do that via command line:

git log –pretty=oneline –graph –decorate –all

But these tools make it much cleaner, clearer, and prettier.

Git Kraken

I’m a big fan of tools that help me share ideas more effectively and these are a few that I think will help me explain git state.

2 thoughts on “Some Tools to Help Present Git

  1. I enjoyed your Advanced Git talk yesterday. What was the script you used on the right terminal window to refresh the log every second?

    Also, you showed a website visualization tool that showed the branch and status/commits (circles, etc). What was that site?

    Thanks, Chris

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.