Configuration management, or version control, is a fantastic concept and tool for software development. Not only does it allow solo developers to work on projects from anywhere with an internet connection and distribute their open-source software, it allows teams to effectively collaborate and produce great software. Managing the versions and uploading source code is great for keeping track of changes and making sure each teammates’ individual work works well with the entire team. Merging changes and resolving merge conflicts is an way to let no one’s work go unnoticed or unimplemented. The ability to use Git from the command line is powerful, efficient, and fast. You can quickly pull, add, commit, and push changes and work on things right there in the terminal emulator.
Before I discovered the greatness of Git and configuration management, I had a horrible time trying to work collaboratively. When I participated in the Hackathon, I didn’t know how to use GitHub and had to change and edit each file incredibly slowly, which definitely impeded my progress. Also, when I was in ICS 111, none of my teammates knew how to use any configuration management software either. We emailed each other our code and that was very slow and inefficient. It slowed down communication and forced us to work on things separately and slowly without the ability to immediately push out changes or pull each others’ work. However, after I learned the glory of Git, my workflow vastly improved. For example, for my recent work at Junior DevLeague, I’ve recently been creating modules and building a site using the Morea Framwork with my fellow co-worker, Irene Fang. This website (which can be found here) would not be where it is now if not for Git. We can all pull and push changes without any walls, and easily collaborate without having to slowly send each other our content over email, especially with the usage of Vim to work right there in the Git repository folder without having to leave the command-line interface.
I may be wrong, but I think that Git is popular because of GitHub. Personally, I didn’t even know what Git was until recently, but i had known of GitHub for many years. Because of the fact that it is a popular website, many people see what it is and know how to use it or reference it for projects’ source code. No one can really do that with Git, as only developers really use it in order to work on projects. People that aren’t developers use GitHub before discovering Git, so its ubiquity contributes to the usage of Git.
Overall, I love configuration management, and Git in particular. Although I haven’t used it much until I started the Jr. DevLeague modules, I have been gitting good with Git, and it has been and will continue to be a boon to my success as a software engineer.