Git Advice for APS beam lines#
Beamline GitHub organizations#
Most beamlines will use GitHub to host their
bluesky repositories. These are publicly-accessible (read-only) so
do not place any content there that should not be publicly-accessible.
GitHub organizes repositories using this pattern:
https://github.com/ORGANIZATION/REPOSITORY
ORGANIZATION is either a single user’s account or a named
organizations
(created by some GitHub user).
This naming convention is recommended for the beamline organization:
create a GitHub organization with a name like this :
APS-SSS-GGGSSS: sector, beamline, and station (such as32IDC)GGG: operating group (such asMICfor the XSD/Microscopy group)Within each organization, create a repository :
bluesky-INSTRUMENTINSTRUMENT: the name of the sintrument, such asUSAXS
APS GitLab#
When there is content that requires access restrictions (thus, not publicly-accessible), the APS GitLab server, managed by the APS IT group, is available to host that content. The server provides online help comparable to that provided by GitHub.
GitLab organizes repositories using this pattern:
https://git.aps.anl.gov/ORGANIZATION/SUBGROUP/REPOSITORY
The SUBGROUP level is optional.
Guides#
This is a sampling of How-To guides explaining Git and GitHub repositories.
- Why use version control?
https://www.git-tower.com/learn/git/ebook/en/desktop-gui/basics/why-use-version-control
- Why use version control?
https://about.gitlab.com/topics/version-control/#why-use-version-control
- Software version control guide
https://www.software.com/devops-guides/version-control-guide
https://dzone.com/articles/ten-easy-steps-to-start-using-git-and-github
https://www.freecodecamp.org/news/introduction-to-git-and-github/
https://www.digitalocean.com/community/tutorials/how-to-push-an-existing-project-to-github
https://www.geeksforgeeks.org/how-to-push-folders-from-local-pc-to-github-using-git-commands/