I follow a similar process to Rainrider for AddOns that I consider to be complex enough to warrant revision control. I usually don't bother for things like single-file sound muting packs.
In my computer's .gitconfig file, I create aliases for the only four commands I use on a regular basis:
- git pgh == git push origin master (push to GitHub, this can usually be done with the GitHub For Windows GUI)
- git pght == git push --tags origin master (push to GitHub with tags)
- git pcf == git push curseforge master (push to CurseForge)
- git pcft == git push --tags curseforge master (push to CurseForge with tags)
When I first create an AddOn, I do the following:
- Write an AddOn up to an initial alpha state
- Drag and drop its folder into GitHub For Windows (GFW) to initialise a repository for it
- Create a commit with the initial code (using the GFW GUI)
- Add things like a .pkgmeta for CurseForge and LICENSE/README files
- Create a commit with the new files
- Publish to GitHub with GFW
- Create a CurseForge project for the AddOn with a Git repository
- Open up GFW's Git shell and add the CurseForge repository as the "curseforge" remote
- Push the changes to CurseForge with git pcf
- Create a tag using git tag -m "1.00" 1.00
- Push the tag to CurseForge with git pcft
- Push the tag to GitHub with git pght
- Download the packaged ZIP from CurseForge
- Create a new WoW Interface project for the AddOn and upload the ZIP
When I finish a new version of an AddOn, I do the following:
- Commit the changes using the GUI
- Push to GitHub using the GUI
- Open the shell
- Create the tag for the new version number
- Push with tags to GitHub
- Push with tags to CurseForge
- Download the packaged ZIP from CurseForge
- Bring up the WoWI project update page
- Upload the ZIP
- Update the description (if necessary)
- Copy and paste the CurseForge change log into the WoWI change long box and manually apply BBCode styling to it
- Confirm the update