Here’s something that confuses us non-developers in the middle of tech-talk: everything.
Opportunely, I’ve taken this into consideration, for along with the services we provide comes clarifying the technology we use in terms that you, our non-developer client, can understand too.
I’ll start with Git and version control– what it is and the reasons why they’re used.
First of all, revision control, source control and version control are the same thing, and they’re the management of changes to documents, computer programs and web sites. These systems are important to keep track when a team of people (developers) may change the same files (your code, for example).
Source control grants the ability to revert a document to a previous revision, which is critical for allowing editors to track each other’s edits, correct mistakes, and defend against vandalism and spam.
By the way, here’s a Wikipedia list of commonly used terms referring to source control; you can keep it around to ask us questions (or to use them in future calls and meetings and impress everyone). Also, Git is related, though not the same as Github, but I’ll get to it next.
Here’s where Git fits in version control.
Software tools for revision control are essential to organize multi-developer projects (like most projects at CSW), and that’s what Git is: a piece of software that you install locally on your computer which handles ‘version control’ for you.
Like I mentioned above, Git is not Github and here’s how they’re related:
Git is a revision control system (a tool to manage your source code history); GitHub is a hosting service for Git repositories (where files’ current and historical data are stored).
In even more human terms: Git is the tool, GitHub is the service for projects that use Git. Also, you don’t have to use a remote service like Github if all you want is version control: local Git is just fine for that. Remote repositories are for backup and collaboration.
The reason I’m mentioning Github and why we have so much love for it is because it offers options for both private directories and free accounts to support open source projects. Open source is the base of the collaborative world we’re now living in, but I’ll write about that another time. Instead let’s wrap things up:
Finally, here are the reasons why we use source control at CSW.
The great value of Git is that it allows us to make changes to applications without breaking your existing ones. It allows programmers the freedom to experiment, remove or make drastic changes to code knowing that it will be possible to rewind and compare what was changed or even revert everything if need be. It makes it easy to see differences between file versions and protecting against mishaps (deleting or changing code unintentionally).
Git also allows us to provide better support because we always know what we’re doing. Keeping a record of who changed something and why, is used towards improvement: we use it to detect areas of opportunity or topics of discussion for further development.
If you wish to know more about this topic, I’ll leave you with two presents:
Here’s a favorite short clip from lynda.com about usages for Git for non-developers:
And here’s an article from The Atlantic entitled “Github, Object of Nerd Love, Makes Play for Non-Programmers”, which is more related to GitHub than Git, but you’ll see why.
You can use these as a first step to learn enough and keep asking us questions– aligning what we know with how we communicate has given us the opportunity to understand and improve results, inside out team and out.
This was the first post written by jossbot, for CSW, with love.