Instructions for Working with GlueX Git Repositories

From GlueXWiki
Revision as of 08:36, 4 September 2018 by Marki (Talk | contribs)

Jump to: navigation, search

The Workflow

Let's use the halld_recon repository as an example.

  1. Create local repository in the current directory
  2. Create a local branch
    • cd halld_recon
    • git branch bug_removal
  3. Check-out the new branch
    • git checkout bug_removal
  4. ... work on topic branch, make changes, add them, commit them...
  5. Push local branch to public branch
    • git push origin -u bug_removal
    • creates branch "bug_removal" on public repository
  6. Issue pull request
    • go to the GitHub site and log in
    • navigate to the repository page (https://github.com/JeffersonLab/halld_recon)
    • click on "branches" on the "code" tab
    • find the line for the "bug_removal" branch
    • click on "pull request" on that line
    • fill in and submit web form
      • essentially creates action item on GitHub, a request that changes on branch "bug_removal" be merged into master branch
  7. Ask someone else to act on pull request. Pull requesters cannot merge their own request. The person doing the merge:
    • goes to the GitHub site and logs in
    • navigates to the repository page (https://github.com/JeffersonLab/halld_recon)
    • clicks on "pull requests" in the right-hand column
    • fills in and submits the web form to merge in changes

Notes on this Workflow

  • Everyone needs an account on GitHub.
  • Anyone can push to the master branch from their private repository. No one should.
  • Changes should go onto topic branches; this is enforced only administratively.