Github Desktop is the official Windows/macOS application for managing things with Github.
Its main advantage over using the Github.com site is the use of Windows’ File Explorer to edit, add, move, rename and delete files like you would normally for directories in Windows, then auto detecting those changes for later submission to the original wiki.
There’s also no limit to the number of files that can be submitted at once, unlike the Github.com web interface.
As Github Desktop syncs the wiki files to a directory on your computer it consumes some drive space. At the time of writing it uses around 350MB.
Before installing Github Desktop it’s easier (imo) for new users to create a fork of the wiki via the Github website. To do so follow the Forking the wiki steps from the other guide then return back here. This only has to be done once.
Expand for more
First up grab the Github Desktop installer from the official site.
Once installed it’ll prompt with a Github.com login.
In the next step you’ll be asked what email to use when submitting changes online. If you have email privacy enabled in your Github settings (which it is by default) you’ll see a noreply.github.com
email, which you can leave as the default then click continue.
If you’re unsure you can check your email settings on Github.com here.
Initially importing your fork to Windows
On the main screen there’s a Your respositories list. Click your fork of the wiki (it will begin with your username, mine is cicled in the above screenshot) and then click the blue Clone mgsvmoddingwiki… at the bottom-right.
Following the import you’ll get a screen asking how you’re planning to use the fork. Just leave it on the default (To contribute to the parent project) and press Continue.
Since you’ve likely just forked the wiki this probably isn’t necessary but it’s always a good idea to make sure your fork is sync’d with the original wiki to avoid having to later deal with file differences.
Expand for more
We can now do whatever we want with the copy of the wiki! By clicking the Show in Explorer button we can add, edit, rename, move and delete files. This will only change the files on your own computer for the time being.
Expand for more
Github Desktop auto detects any changes and lists them in the Changes tab.
As can be seen in the GIF above I already have an image directory for the Meta section that I created within
assets
(where all the images/non-page files reside).
Image sub-directories should be named after their wiki page (or the root wiki page if it’s a multi-level section like Meta is). The rest of the existing images that lack their own sub-directories are just from older wiki pages (feel free to move them into their own sub-directories if adding new images to an existing wiki page).
Great! Now the online version on Github.com matches the local version of the files we just changed on Windows.
Since the goal is getting the changes of your fork into the original wiki we’ll request that by submitting a pull request (aka PR). This is the final step!
Expand for more
Done! Now just wait for one of the collaborators to approve the PR on this page. Once accepted the changes become part of the original wiki.
Keeping the local copy updated if you change the online copy separately via Github.com
If for whatever reason you later make changes to files using the Github.com website interface, then open Github Deskop, you’ll notice a message saying files have changed on the online copy that haven’t been sync’d with your local copy.
To sync your local copy with the changes of the online copy click the Pull origin button.
Handling merge conflicts
Something you may encounter are what are called merge conflicts. This happens when some file(s) you’re syncing (in either direction) have been changed in a way that can’t be automatically resolved.
It’s analogous to mod conflicts where files have changed the same thing and you need to resolve it.
Here is an example where I used the Pull origin feature to update my local copy with my online copy and it had some file differences that I needed to address.
What I did in this case was choose to Use the modified file from origin/master which meant I kept the copy of the file from the online copy of my fork rather than the existing version I had of the file locally.
You can alternatively choose to keep your local copy by selecting Use the modified file from master, or open the file in a text editor to manually edit the text differences how you want.