Designing Your Own Commit Graph With Git

Git log is a very powerful tool for tracking all your changes, even across different branches and multiple repositories. However git log default output is verbose and not a great way to visualise the commit history.

Fortunately Git is very customisable, both for humans and tools. This article covers one way to creating your own customised output for git log that helps you work with branches and track changes through local and remote (eg. Github) repositories.

Read More

Global Git Ignores Make Collaborative Development Easier

Lots of developers are using git, especially when working on projects together.  However there is not one single developer tool that every one uses, so there is potential for a lot of unwanted files to end up in your project.

Rather than pollute the .gitignore file for the project with every development tool under the sun, its much more effective to add development tool specific files to your own global ignore file ~/.gitignore_global.

Read More

Git Log Makes Multiple Repos Easier to Track

Git is a great developer tool for managing and sharing code. Its really easy to get started with, especially with services such as Github and their excellent website. I quickly became comfortable with the basic developer cycle:

git init
git status 
git add filename
git commit -m "useful message"
git push
;; back to git status...

To keep track of changes when you just have a local repository is easy with git status.

Read More

The Git Father - a Forking Badass T-Shirt

The Git Father. The only t-shirt to wear when teaching other people who to use git and Github.

One day I will actually iron my t-shirts :)

Thanks to Clearvision for creating such a great t-shirt. Check out their Go Git website for ideas on adopting git in your organisation.

Thank you.

This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License, including custom images & stylesheets. Permissions beyond the scope of this license may be available at @jr0cket
Creative Commons License

Driving Git With Emacs - Pure Magic With Magit - Part One

Getting to grips with Git was not to much of a learning curve, although I found it quicker to work on the command line than using graphical tools. Using git status and git log made it easy to keep a handle on my code changes.

As I do most of my Clojure development in Emacs, it was great to discover I could drive git from Emacs using Magit. What follows is a flow through the first steps with Magit.

In part two I look at Git logs with Magit

Read More

GitIgnore for Clojure and Emacs - Ignore Emacs Backup & Temp Files

Even though I use .gitignore files to control common files that should not be committed to a git repository, its very easy to forget about the backup or temporary files that my development tools generate. As these auto-generated files are development tool specific, they are not always included in a .gitignore file.

Especially when you are under pressure to commit changes or deploy your code its easy to include a few things you dont need, especially when using the commands git add . or git commit -am "".

So when I discovered the idea of using a .gitignore_global file, I quicky adopted this and saved myself a lot of time with this simple approach.

Read More