Home - HPetch/DES203-Group-15 GitHub Wiki
DES203 Source Control Wiki
Use this wiki space to learn things about GitHub and GitHub Issues.
GitHub is what we are hosting the files to go in the executable build (UE4 project) on.
In this repository there should be the assets and textures in the game, not the raw files themselves (.psd files etc) as these tend to get large very quickly. The Git system will not let you push files over 100MB to the server, but if you are seeing an error when trying to push saying something like "File size is over 100mb" please contact Harry and we can work out what needs to be done.
What does Push/Pull/Fetch etc. mean?
There is terminology we use in source control/version control (interchangeable names) that is quite simple to understand once you get around to it. Here are the most common terms you will hear in an industry context when using version control tools:
- Clone: Take the current version of a repository from the origin (the server hosting the repository) and copy it (clone it) to your machine. Also tells your version control software to keep checking the folder on your computer for changes.
- Stage/Staging: The files that you have changed that you are going to upload to the server. By default all changes you make within the cloned repository folder on your computer will be staged - the checkboxes on GitHub Desktop will allow you to unstage them by turning one off. Always toggle off changed files that you have not consciously changed, for example Map files which tend to frequently autosave, as this will prevent progress regressions.
- Commit: Groups up the staged files into a single package that is prepared to be sent to the origin server and updated. Notes which files have changed and how in a non-destructive manner (it can be reverted if things go bad).
- Push: Finalises your commit and sends the package with the updated changes to the origin server which everyone can then download after fetching the latest version.
- Fetch: A refresh button that checks to see if your computer's repository is up to date with the origin server's version. If a new version exists, pull the changes.
- Pull: Receive the latest package of updates and update the changed file's on your computer to match the servers, while preserving your changes.
- Merge: If you are editing something that another person has edited and pull their changes, it will attempt to merge the files automatically. This works fine in text but tends not to work well in game engines. You will likely experience a Merge Conflict error - there is nothing to be scared of, just go to the correct troubleshooting guide here!