• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

GMS 2.3+ Another thread about Git, SCM & GMS2 Workflow


Having tried to setup source control for a classroom of students and failing miserably (it worked for some but not for others) - we had some pretty random errors such as the 'Importing repository' output message and then...nothing. We also had literally nothing happen when we attempted to clone a repo. I can only guess there are exceptions eating up the thread and not re-throwing but just dying silently. I don't know.

So because of these seemingly random happenings I have decided to use Sourcetree (as we are using Bitbucket so it goes really well with this). This should make things a little bit more robust.

One question though... is it possible to refresh the files (with a force refresh) in GMS2 - seems I have to re-open the project?




šŸ§ *penguin noises*
GMC Elder
I've always used command-line git (and had GM closed when pulling, though most of the time I just push to a cloud backup repo instead of doing collabs)... the built-in implementation is clunky and has less features than using git yourself so I've never felt like it's worth using it.

GM should auto-detect changed files and ask whether to reload them or overwrite them with the current in-memory version. Only assets that are currently open in an editor are in memory, so closing an asset, updating the repo, and re-opening it should use the on-disk version. The main project file (which controls stuff like the asset listing order) might be less robust, I'm not sure.


I'm also not using built-in scm.

In fact, in my opinion, there should be read-only features for git in GM: one to mark status of new/modified/untouched resources, and another to mark which lines were changed in code (this one doesn't exists yet). Rest should be managed from command line or external tools.
  • Like
Reactions: Yal


The built-in source control is kinda unreliable and, after being burnt once a few years ago, I swapped to external tools and never looked back. GMS2's IDE will automatically request a refresh if it detects files have changed (due to external tooling, or really anything) and I've found that that is realiable at least.

(For the record, I use a GUI rather than CLI and it's been more than enough to handle large commercial projects, save a couple git reset --hard when things have gotten out of hand :p)


šŸ§ *penguin noises*
GMC Elder
I've always been a fan of command-line tools since you can save useful commands and reuse them later (including advanced regexp searches, batch rename/move operations that only care about certain file types, etc), which generally isn't a thing in GUIs. With a GUI you point and grunt at the computer, with a CLI you can hold an intelligent conversation with it. If Windows didn't default so such an user-hostile shell (both before and after the cmd-->powershell shift, mind!) I'm sure this sentiment would be much more widespread... once you get used to Bash, there's no going back. Things like program-specific tab completion plugins speed up menial tasks a ton.

I really like gitk, the branch visualizer, for a more clearer overview though. It's another of those really high-barrier-of-entry programs, but once you get used to the five-dimensional view (branch relationships x & y / time / code x & y) it's really hard to go back to code that changes linearly over time. I think it's what Git GUI uses under the hood to display the structure, but I haven't used it in years so I'm not sure.