Git Repositories – GitHub – Git Confusion?
During the last 10 years, if you have been living in a developer bubble, for example working at a large software developer such as Microsoft or IBM, although you might have heard of git and gitHub you may not had the chance to work with git repositories. In the case of programmers working at Microsoft, programmers tend to be forced to use Microsoft’s own Team Foundation Server (TFS for short) and at IBM Websphere + Integration Designer, which tend to be CVS-based. When leaving such an environment it can a little disconcerting, having to learn yet another version control system.
Git should not be confused with GitHub.
Git is an open source distributed version control system (DVCS) whereas, GitHub is essentially an online collaboration tool and hosting service for git repositories (although it aspires to be more). GitHub utilizes Git hooks (lifecycle management instructions) to display hosted repository information, just like Javaforge and codeBeamer ALM. GitHub is free for open source projects but is not open source, (akin to our very own Javaforge) but sells private git repositories similar to BitBucket and stash (Atlassian Products).
codeBeamer ALM – for when GitHub is just insufficient.
First thing to mention is that Javaforge is codeBeamer but only for open source projects. It supports Subversion and Mecurial in addition to Git, we provide programmers a choice, – unlike most of our competitors. If you are just looking for a simple collaboration tool then a private GitHub repository is probably sufficient. If you need more than this (a larger enterprise with multiple projects), then you are more likely to need ALM software. The ALM stands for Application Lifecycle Management, and when speaking about our own ALM Software, – codeBeamer ALM, it has all the core features of GitHub providing private git repositories and is so much more.
The first thing to understand about Git and how it differs from other version control systems is the integrator workflow. Once you understand the terms associated with the integrator workflow and how it enables security, scalability and agility, it then becomes clear whether your business should be using it. Furthermore, utilizing git in conjunction with codeBeamer ALM provides the best of Developer working environments.
Terms to know:
- Blessed Repository: Contains the reference code code which has been well tested and been reviewed by a senior developer
- Forking: Live copy of the blessed repository, think of it like a sandbox for testing and changes to it must be reviewed by a senior developer before addition to the Blessed Repository.
- Commit: The process of adding or saving a programmers changes to the local repository along with a log message describing the changes.
- Push: Git-Push sends or syncs the locally commited changes to the blessed repository along with any locally created logs.
- Pull: Git-Pull gets all the changes from a repository or local branch.