GMS 2 Using Source Control In GMS 2

Aaron Craig

Member
GM Version: Studio 2
Target Platform: Windows
Download: N/A
Links:
Get Git -- https://git-scm.com/
Create an account at bitbucket -- https://bitbucket.org/

Summary:
I go over setting up Source Control inside of GameMaker Studio 2. I cover why to use it, what you need to download, how to get it all installed, all the git commands necessary, and how to create branches for testing and other purposes.

Tutorial:
 
Last edited by a moderator:

Dog Slobber

Member
I want to thank you for this.

I have never used source control, I followed your tutorial and everything worked out terrific. I had to make a few adjustments because of differences between MacOS and Windows but nothing I couldn't figure out.

Thank you!
 
I've never known why I needed to wrap my head around source control until just now when I watched your tutorial.
Got the repo set up and I feel so much safer now.
Thanks a bunch!!!
 
New
I've never known why I needed to wrap my head around source control until just now when I watched your tutorial.
Got the repo set up and I feel so much safer now.
It's not just saver... It is also increadible useful for teamwork with a lot of people (as long as you teach the team how to use Git properly as it is quite hard to get into - especially for game development as you have to deal with binary files (for example images) which git does not handle very well)
You can design whole team workflows with it though to minimize the "conflict" potential...

There are also other Git Hosting Plattform which are increadible powerful for Project Management Reasons as well!
GitLab.com for example has TONS and TONS of free features (Project Management, Workflows, External Tool Integration, Build and Release Automation) and is also free for private closed sourced code.
But if you want to make an open source game for example you will get ALL GitLab Features for free for that project.

In git you work with "branches" to ensure that things which currently work are likely to work continously.

So you could setup branchflows like:
  • master // Release Branch which will contain only stable versions of the game
    • develop // Base branch for stuff which is currently in development...
      • feature_xyz // Here some people can develop new features or do refactorings without getting disturbed by other peoples current work
      • develop_art (optional but useful) // Here artists can modify graphics in batches so that the binary conflicts will most likely only occure here and to make sure that binary conflicts are resolved correctly and then merge back into 'develop'
  • hotfix // Synchs often with 'master', fixes stuff there and the fix will get merged back into 'master'

This is one possible example but there are many other workflows as well... Each team has to find out how they will work together most efficiently.
But each option requires the team to learn to communicate even more which is actually a good thing :)
 
Last edited:

hans

Member
I mean no offence Aaron, but, I've gone over your tutorial for hours (8 to be exact) and it has sadly never worked. :(
 

Aaron Craig

Member
I mean no offence Aaron, but, I've gone over your tutorial for hours (8 to be exact) and it has sadly never worked. :(
Sorry to hear that.
I've got an updated version that just uses source control and doesn't rely on anything from GameMaker, and it's a much easier to follow and more likely to work for you. Check out my channel and just search source control.
 
Top