Instructions for Working with GlueX Git Repositories

From GlueXWiki
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 (
    • 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 (e.g.,
    • clicks on "pull requests" in the right-hand column
    • selects the relevant pull request
    • if required, submits a review of the pull request
    • fills in the merge form and initiates the merge

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.