GMS 2 Source Control Help(solved)


Can someone please walk me through game maker source control. I've looked for countless tutorials but no luck. I have already installed bitbucket, git, and github so, if anyone only knows those that's fine.


Hi. I noticed you posted about this a couple weeks ago. I'm new to the forums or I would've helped you sooner.

I use source control so maybe I can help.

If you navigate under File/Preferences and then select Plugins, you'll see Source Control (Git).

There you'll want to check Automatically open source control output window. This opens the debug at the bottom if you were to have any issues.
Next check Verbose Logging.

Your identity is you.
Your e-mail is your e-mail address.

For authentication:
Select Add User/Pass Authentication
Paste in the Repository URL that you want to commit to. This is usually set up by you through github or a 3rd party.
Use your username of the repository URL. This has to be initialized from the repository URL account.
Use the password for the username.

At the end, check Automatically enable source control. That way you can commit and push/pull repositories from the repository URL.

This is all you have to do. Once this is set up, you'll see orange exclamation marks on each of your items on the right. You'll also notice an addition to the tool bar called "Source Control". Here you can commit, push/pull or create repositories. If you have set up everything correctly, the only thing you have to do in order to use source control is to commit and stage all changes, and then push to your repository. Once this is done, you'll notice green check marks on each of your items on the right.


This thread is somewhat old, but I just wanted to post a quick comment.

It's not absolutely necessary to configure the IDE for source control. I prefer to work from the command line and just like any project you can simply create a repo (wherever), init your project directory, add a remote, add the files, commit, and push.


🍋 *lemon noises*
GMC Elder
  1. Install git and make sure to install Git Bash as well (and use Bash/Cygwin as your command line environment)
  2. Create new empty repo on Bitbucket / Github / your own Gitlab server
  3. Open your project folder in git bash (right click --> git bash here)
  4. git init
  5. git remote add origin <url to remote repo you created in step 2>
  6. git add -A
  7. git commit -m "Initial commit."
  8. git push origin master


If more than one person is going to use the same repo, one should be aware that there were some pretty huge bugs in GMS regarding it. I can't find the thread about it for some reason, but I recall it is completely safe only in a single-user environment. If more than one person versions the same code, there was in some cases the danger of project-breaking issues.


🍋 *lemon noises*
GMC Elder
Oh yeah, that's right (I'm chronically a one-man-band so I forget people have friends :p). There's two big things to be aware off of the top of my head: GMS2 uses a JSON format that adds extra symbols whenever you create a new asset because the last asset in each list has no "the list continues" symbol at the end of the line, so you always get a conflict when merging changes. Also it uses lists with GUID-style hexadecimal data blobs to identify relationships between resources, which duplicates some of the data the folder structure provides (and can get out of sync with it). GMS1 mostly uses git-friendly XML but it has a tendency to add or remove newlines at the end of files a lot, causing spurious 1-line diffs that could cause similar merge conflicts.