Version Control Software and Source Code Repositories
Talk given by Levi D. Smith at the January 2018 Knoxville Game Design meeting. This talk covers the various tools used for version control and sites which host source code repositories.
know enough to do the basics • Software Configuration Management (SCM) • Version Control Systems • The tool used for managing source code • Distributed vs Centralized (client / server) • https://en.wikipedia.org/wiki/Comparison_of_version_control_software • Source Code Repositories • Where your code is hosted • Public and private • Paid and free • Can also host server yourself, remote file share, or just local system
to a stable version • Timestamps of when commits were made • Accessibility to multiple developers • Better than sharing a Dropbox or Google drive folder • More elegant than backing up directories • Analysis tools and web view of source code
a part of the Apache Foundation project • https://subversion.apache.org/ • Command line interface • Tortoise is a graphical interface that integrates into operating system • Shows icons for new and updated files • Icons may be out of sync • Also has repo browser • Commit identifiers are sequential numbers • AnkhSVN • Support for Subversion in Visual Studio
https://git-scm.com/ • Command line interface • Open Source graphical tool • Also supported by Atlassian Source Tree • Changes have to be “staged” before commit • Commit identifiers are cryptic strings • Can push local repository to server • Differences with SVN • https://help.github.com/articles/what-are-the-differences-between-subversion-and- git/
• In Unity, don’t need to check in /Library, /Temp, and your builds • .gitignore (Git), .ignore.txt (Mecurial) • Can set global ignore file, so that same folders are ignored for every project • Can use regular expressions