Body
Repositories
The basic organizational unit for code in github is the repository.
A repository (or "repo") is a project folder that contains all the information about a project, including not just files, but discussions, management options, and records of all changes ever made, who made them, and when.
Most people work on repos by "cloning" (copying) the GitHub repo to their personal computers, making changes there, and then "pushing" (uploading) their work back to the GitHub repo. (More on this in the Git documentation.)
It is also usually possible to edit repos directly in the GitHub web console. However, it is not really designed for this, and can be clunky.
Which Repositories Can I Access?
You automatically have access to every repository you created.
Other repository owners may have chosen to grant access to their repositories to you, to your team, to the entire University, or to the world. (See Repository Visibility, below.)
You can access to lots of existing St. Thomas repositories. You can see them all on the UST Repositories page:
Creating Your Own Repositories
You can create a new St. Thomas repository by visiting the St. Thomas GitHub Campus homepage and clicking the green "New Repository" button in the upper-right corner, or by following GitHub's instructions.

When you create a repository, it is important that you set the Owner to UniversityOfSaintThomas, not your personal account. If you set the owner to your personal account, the repo will not be part of the St. Thomas organization and will not be able to make use of any of our GitHub Campus features. You will have a harder time sharing it with your colleagues. (You will still be admin on any repos you create.)
You are free to create and manage as many repos as you want.
Repository Visibility
Repositories can be public, internal, or private.
Private repos
A private repo is visible only to the teams and individuals you choose. This is the appropriate setting for most repos at St. Thomas.
Public repos
A public repo is visible to everyone in the world, making it "open source." You should not use this setting unless you know what you are doing.
You should carefully review the repo to ensure it includes no Yellow or Red data (according to the St. Thomas data classification policy), attach the appropriate licenses, and obtain any required clearances. (Specific requirements vary by department and division.)
Internal repos
An internal repo is visible to everyone within the St. Thomas community, and no one else. This does not require licensing or clearances, but, since you'll be sharing your repo with 15,000 St. Thomas faculty, staff, employees, and others, you should still be careful to follow the data classification policy. Since internal repos show up on everyone's dashboard, ITS may curate these and set them to Private at ITS's discretion.
Guard Your Secrets!
No matter what visibility your repository has, remember to never include passwords or API keys directly in a repository (especially not if the repo is public).
Importing a Repository
You may already have St. Thomas-related repos that exist outside the St. Thomas GitHub Campus organization. You can transfer a repository from your personal account to the St. Thomas organization by following these instructions:
When you transfer an existing non-St. Thomas repo to St. Thomas ownership, your admin rights are downgraded to write access. This is an annoying quirk. The GitHub Campus Administrator (currently me, James Heaney) will receive a notification whenever this happens and will restore your admin rights in a timely manner.
Some users prefer to avoid this issue by creating a new repo within the St. Thomas org (so they have admin rights), then pushing their old personal repo to the new St. Thomas repo, then finally deleting the old repo. This is fine.
Managing Repository Access
If you are created a repository (or have been granted admin access), you can enter the repo, click the Settings tab, then select Collaborators and teams item from the left sidebar.
On that screen, you can add or invite other individuals or teams to your repo.

You can assign different levels of access ("roles") to different people. Roles range from simple read-only access to full admin rights.
Using GitHub teams to assign and remove roles to entire groups can make permission management much easier, especially for large or long-term projects. See KB: Managing Teams in the St. Thomas GitHub.
Need help?
More information about the St. Thomas GitHub environment (including guides, labs, website management, team management, repo creation, and more) can be found in GitHub Campus: Read Me First.
ITS is available to provide any assistance that you may need with the St. Thomas GitHub. Email techdesk@stthomas.edu to open a support ticket (cc jjheaney@stthomas.edu).