Editor User Guide
Linking Your GitHub Account to an Extension
Linking your GitHub account to your Extend account will allow you to sync your extensions to a file in any public repository you are a member of. If you check the private repository permission when setting up the link, you can also do so with private repositories as well.
Syncing Your Extension with GitHub
Under the settings menu, selecting GitHub will bring up the GitHub sidebar. From this sidebar, you can sync your current extensions’s code to a GitHub repository. Here, you can choose a repository, a branch, and a particular file. Once this is done, you’ll be able to manage the sync settings for the extension.
Note: If you want to create a new repository, branch, or file to sync your extension with, rather than an existing one, simply type the desired name into the search field. If it doesn’t already exist, you’ll get the option to create it!
When the Manual Sync option is enabled and you open the extension in the Editor, it will check for differences between the GitHub hosted file and the extension. If there are changes in one that are not reflected in the other it will present the diff and you will then be able to choose which version to keep.
The GitHub to Webtask option will allow you to automatically sync the GitHub hosted code to your extension when commits are pushed to GitHub that alter the hosted code. If changes are only made via GitHub, this option could be enabled alone. However, if changes are made both in GitHub and in the Editor, this option could be used in tandem with the Webtask to GitHub option.
Conversely, enabling the Webtask to GitHub option will automatically create a commit to the GitHub repository each time changes are saved in the Editor. If changes are only being made in the Editor, this option could be enabled alone. However, if changes are made both in GitHub and in the Editor, this option could be used in tandem with the GitHub to Webtask option.
Branching and Versions
The extension is synced with a specific file in a specific branch. Because of that, if necessary, multiple extension could be created and maintained, if necessary, to reflect different branches. For example, an extension could be synced with an repository branch in production usage, but a newer version of the extension could be developed and tested and be synced to a development branch.
This ability to link different extensions with different branches in the same repository allows the flexibility to develop properly, and not be forced to create separate repositories in order to use source control with development stage extensions!