Just want to put this workflow out there as we want to move away from doing our CSS and JS updates directly from within Squiz Matrix. Putting all our tracking comments into the code files is just no longer cool. We are looking to implement GIT to track all our changes and versioning, mainly relying on the GitHub interface. For this, I have setup GIT File Bridge assets in Squiz Matrix to pull in changes to the repo code anytime a change is made (through webhooks).
I'm aware that Squiz is currently unable to combine and minify JS/CSS files that are brought in via the GIT File Bridge asset, so I have setup Gulp on our local machines to do those tasks for us before we commit changes to GIT.
So we have design assets (with or without customisations) that reference the combined and minified CSS and JS files (that Gulp produces). So I am setting up a "Testing" branch from the "Master" branch. We do our code changes in the testing branch whilst using Brackets/Sublime with a GIT plugin. Commit and push the changes to the test branch in our GIT project. The "Testing" branch is hooked up to a GIT File bridge asset and it serves the code for our staging (dev) area. We check out the code changes there and make sure we are happy with them.
Then to make the changes happen on the live website, we then initiate a pull request from the Github website, make all the notes/comments and then merge the changes back into the master branch (automatically) but NOT delete the testing branch - still need that guy for our staging.
Then the updates are made to our live site which references a separate GIT File asset that pulls in changes from the master branch.
Hope this does not sound too complicated. It's something I am working on and getting used to. It makes sense to me at the moment as you do your coding once, test it in staging area and then push those changes onto the live website. So the only question I am asking here is if this could be considered a good approach? Could it be made better? Is there an obvious mistake that I am overlooking?