Git on IBM i
Ask any average group of developers what their preferred version control tool is and you’ll overwhelmingly get “Git” as the response. Indeed, a Stack Overflow survey of nearly 70,000 professional developers found that just over 88 percent of them prefer Git over other version control tools. A key component of many organizations’ DevOps solution, Git is admired among the developer community for its combination of intuitiveness, speed, and robustness.
It is this overwhelming popularity that persuaded IBM to add Git early on to its ever-expanding list of open source tools for IBM i. As I’ve discussed in previous posts, IBM i has a number of comprehensive, all-in-one solutions for IBM i DevOps. However, as a solutions engineer serving a diverse IBM i clientele, I find that more and more IBM i-based organizations are choosing to incorporate Git into their DevOps stack. Drawing from that experience, here are just a few of my observations on why Git can be a valuable addition to your IBM i DevOps toolkit.
Powerful Source Control
A good reason to adopt Git is that it provides numerous functions for source control beyond what you find in some IBM i tools. Git not only stores files and keeps track of the changes between every version, it also allows you to group those versions through branching and tagging into multiple logical structures. It’s easy to view every change made to each file as part of any commit to the repository.
You can then take that set of changes and apply them to any other version of the application thanks to Git’s fast, automated merging tools, which can seamlessly merge changes from multiple versions of a file together.
Another great advantage of Git is its distributed architecture. This makes it easy to host a Git repository on a site like GitHub. As developers complete their work, they can simply push their changes to GitHub (or can likewise submit a pull request easily) and the code will be copied to the remote repository where it can be made available to other developers. In this way, Git can be used to manage open-source projects being worked on by hundreds or even thousands of developers across many organizations.
Additionally—and this is probably the biggest reason for Git’s enduring popularity—many other tools (open source and otherwise) that developers commonly use to check things like integrity, security, license compliance, and policy compliance of code also have integrations with Git. That makes it easy to point those tools to a given Git repository and have them perform their functions.
Git also integrates easily with automated build tools like Jenkins, Maven, Bamboo, and Ant. Those tools can pull the source code they need for builds from Git and then build and deploy the application based on rules defined by the user.
In short, by using these tools, it becomes simple to manage applications that span both IBM i and distributed systems simultaneously.