top of page

Version Control

GDD710 Development Practice Module - Week 7 - Development

______________________________________________________________________


This week entails the investigative research of Version Control. Also known as source control, Version Control is the practice of maintaining and monitoring any modfications to software code. They are essentially software tools that assist development teams to update and improve code over a period of time (Atlassian, 2021). These systems have grown to become the goto for businesses due to its extensive speed and smart capabilities. The use of Version Control software ensures a record of any changes made, through a secure database. Say a mistake occurs, developers can perform a rewind and do a version comparison of the previous code to resolve the knockback, preventing further disturbance between the other developers.


For those familiar with the system Github, it is a push and pull relationship between developers to ensure a smooth project that can be shared and changed with ease. When this topic for the week was announced, I needed a quick reminder since I never really associated the term "Version Control" with software configuration. i just knew it as a digital project storage unit capable in being shared for group work and additional backups. It wasn't until familiar Version Control systems were mentioned during the study pod session. That is where it clicked and I thought about my own knowledge and experiences on similar systems. Below is an illistration and Video on Version Control.

______________________________________________________________________


Figure 1: Version Control Illustraton (Git, 2021)

______________________________________________________________________


Figure 2: Git & Version Control - The Fun Way (Devslopes, 2017)

______________________________________________________________________


Types of Version Control


1. Github - Main assistance provider for development teams to collobarate and maintain the complete record of code changes. Changes can be tracked, undone and shared between other developers. Uses a repository structure to host Git projects. Git definition meaning the open source version control system that benefits local branching, a multitude of workflows and ideal staging areas. Git is ideally the recommended type due to its ease of learning and functionality (Nilesh Kadivar, 2018).


2. GitLab - Involves a range of helpful features such as project intregration and website potential. Testing and deliverance is a constant tie breaker due to the recursive integration from GitLab. Full access to each area of your projects, clearly viewable code, pull requests and merging conflicts.


3. GitKraken - Similar range of features to GitLab, but in a modernised structure. Terminal based and recommended by various professionals. GitKraken can tend to cause fustration if users are not familiarised with the OS terminal itelf. Offers strong support when using applications with command line operations.


4. GitHub Desktop - Strongly advised to work with GitHub due to its flexibility. Not as integrated than others but a steady worklow to grasp better acknowledgement in how your repositories work. Offline access instead of command line or in-browser. Instant remote cloning from online if transfering projects around (Vishai Gorai, 2019).

______________________________________________________________________


Personal Experience with the Git Family


I have had a fair amount of involvement regarding the use of Git software. My knowledge is fairly standard, but enough to monitor a project from the inside and where any changes in file and code has been adjused. My experience has been over the course of 4 years, firstly using GitKraken which demonstrated a much more funky visual approach to commit work in a project. It was saddening I only contributed one project using GitKraken as other lecturers were more sold on using the main system of Github. The transition was quite confusing since I only just got comfortable with the UI features of GitKraken. A new Version Control software wasn't as soul crushing as I predict once I got the idea of setting up repositories. This enabled me to back up specific work onto the system, as well as develop a relationship with uploadng Unity projects. It felt like a regular task. I was later introduced to the mixed tools of GitHub Deskop.


This was a major project reserve, especially during my FMP where every other day was an error to be undone, followed by multiple pushes to correct my errors. The ease of Desktop just felt right, especially the sign-in presets to sync on and off browser. I still aim to use Github Desktop throughout this course due to simplistic project maintainability. Below is an illustration of my GitHub Desktop These systems have been a life saver in terms of maintaing projects and backtracking how it all started like a code-based logbook. I don't know what it is with Git but it just ties in so smoothly when it comes to games development. Indies specifically use Git alot of the time which makes me relate to inspiring developers out there on how we can all use the same tool, no matter what levels of expertise we claim to have.

______________________________________________________________________


Figure 3: Github Desktop Illustration (Kyle Cornwell, 2021)

______________________________________________________________________


Setting Up a GitHub Repsitory


For this weeks acitivity, we were tasked with setting up a repository on Github for our upcoming Rapid Ideation 2. This was beneficial as I had not used Github with any projects whilst starting this course so it felt positive using something I feel confident with. I did a refresher to follow the correct setup for a repository by watching a Brackeys tutorial which enabled me to upload my Rapid Ideation 2 project setup and ready to go in Unity now that I feel abit more prepared for the theme again yet to be revealed. Below is an illustration of my Rapid Ideation 2 Repository and a video on setting up Unity projects with Github, specifically Github Desktop.

______________________________________________________________________


Figure 4: Rapid Ideation 2 Repository (Kyle Cornwell, 2021)

______________________________________________________________________


Figure 5: How to use GitHub with Unity (Brackeys, 2017)

______________________________________________________________________


References:


Atlassian, 2021. What is Version Control? [Online] Available at: https://www.atlassian.com/git/tutorials/what-is-version-control [Last Accessed 23/08/2021]


GitHub, 2008. Microsoft Cooperation. [Online] Available at: https://github.com/ [Last Accessed 23/08/2021]


Nilesh Kadivat, 2018. Top 10 Version Control Systems. [Online] Available at: https://hackernoon.com/top-10-version-control-systems-4d314cf7adea [Last Accessed 23/08/2021]


Devslopes, 2017. 18. Git & Version Control - The Fun Way. [Last Viewed 23/08/2021] Available at: https://www.youtube.com/watch?v=WDGZAiPlCu8


Vishal Gorai, 2019. Intro to GitHub Desktop Desktop. [Online] Avalable at: https://hackernoon.com/top-10-version-control-systems-4d314cf7adea [Last Accessed 23/08/2021]


Github Desktop, N.D. Microsoft Cooperation. [Online] Available at: https://desktop.github.com/ [Last Accessed 23/08/2021]


Brackeys, 2017. How to use GitHub with Unity. [Last Viewed 23/08/2021] Available at:https://www.youtube.com/watch?v=qpXxcvS-g3g



27 views0 comments

Recent Posts

See All

Comments


bottom of page