Get the Scoop on Git at JAX USA
In version control, Git is certainly the very best available today.
Matthew McCullough is an energetic 15 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a US consultancy. Matthew currently is a trainer for GitHub.com, author of the Git Master Class series for O’Reilly, speaker on the No Fluff Just Stuff tour, author of three of the top 10 DZone RefCards, and President of the Denver Open Source Users Group. His current topics of research center around project automation: build tools (Maven, Leiningen, Gradle), distributed version control (Git), Continuous Integration (Hudson) and Quality Metrics (Sonar). Matthew resides in Denver, Colorado, USA with his beautiful wife and two young daughters, who are active in nearly every outdoor activity Colorado has to offer.
The JAX conference series will come to San Jose later this year. Speakers and sessions are already being confirmed over at the JAX website, including two sessions from co-founder of Ambient Ideas, Matthew McCullough. McCullough will present a hands-on ‘Git Going with a Distributed Version Control System!’ tutorial, and a session that will encourage attendees to get on board with Git, ‘Git in a Nutshell.’ JAXenter spoke to Matthew McCullough, to find out more about the advantages of using Git, and the sessions he will run as part of the JAX conference.
JAXenter: In Germany, Subversion is the most widely-used version control system, but Git seems to be gaining more and more ground. Is this something you have experienced, too?
Matthew McCullough: It most definitely is something that I’ve seen in my consulting practice as well. And you know what, I respect Git’s historical predecessor, Subversion. It brought many improvements to the table. But we have a responsibility as software craftsmen and craftswomen to use the very best tools. We want to be at the top of our practice and known for excellence. Git is a tool that enables developers to be more precise and agile in their work. Past version control systems have tended to be more of a “backup my code” type of tool. The idiomatic attitude around Git is that it tracks your thought process around changing code and lets you navigate through that thought process and treat it more like a mind map (organic) than a train track (linear).
JAXenter: What makes Git such a good alternative to other tools?
Matthew: First off, it passes the first litmus test of being open source, well accepted by cautious organizations, and high-performance. It follows that up with the additions of no requirement of network connectivity, very little footprint on disk (no registry entries), simple setup (plaintext files), and a great set of GUIs and IDE integration on Linux, Windows, and Mac. Speaking to the human side of the tool, it is very adaptable. Let’s say that you make a mistake on a commit message. No problem. Just git commit –amend it. Let’s say you want to try a merge again. No problem. Just ‘git merge –abort’ the in-progress merge and retry it later. Lastly, let’s say you get interrupted in the middle of working on some modifications and are requested to get back to a clean state and test some code. No problem. Just ‘git stash’ and the work in progress is safely saved for later and your directories are restored to the last committed state in just a matter of a second or so. There are dozens of examples where the Git tool helps you without being judgemental of how you got into a situation.
JAXenter: You are hosting a full day tutorial on Git at JAX San Jose. Who should attend this tutorial, and what can they expect?
Matthew: Students that have knowledge of any previous version control system are welcome and will learn Git in a very vertical fashion. By that, I mean, they’ll learn not only the command line keystrokes, but what is happening one level deeper. This is a great architectural exercise. A frequent JAX speaker, Neal Ford, lauds Git as being an example of fantastic tool design. It is lightweight, liberating, and yet capable and scalable. I’m also seeing a trend towards distributed version control systems (DVCSs) in many hiring organizations and I think having DVCS skills will be a great complement and tie-breaker when seeking new employment. Employers are ever-increasingly looking for engineers that keep abreast of the best-of-breed tools. In version control, Git is certainly the very best available today.
Very Early Bird discount ends this week! Be sure to visit the JAX Conf website now and save up to $400.