Difference between revisions of "Instructions for Working with GlueX Git Repositories"

From GlueXWiki
Jump to: navigation, search
Line 5: Line 5:
 
# Create local repository in the current directory
 
# Create local repository in the current directory
 
#* <code>git clone https:/github.com/jeffersonlab/sim-recon</code>
 
#* <code>git clone https:/github.com/jeffersonlab/sim-recon</code>
# Create a local topic branch
+
# Create a local branch
 
#* <code>cd sim-recon</code>
 
#* <code>cd sim-recon</code>
 
#* <code>git branch my_work</code>
 
#* <code>git branch my_work</code>
# Check-out the new topic branch
+
# Check-out the new branch
 
#* <code>git checkout my_work</code>
 
#* <code>git checkout my_work</code>
 
# ... work on topic branch, make changes, add them, commit them...
 
# ... work on topic branch, make changes, add them, commit them...
# Push local topic branch to public topic branch
+
# Push local branch to public branch
 
#* <code>git push origin my_work:new_bug_fix</code>
 
#* <code>git push origin my_work:new_bug_fix</code>
 
#* creates branch "new_bug_fix" on public repository
 
#* creates branch "new_bug_fix" on public repository
Line 19: Line 19:
 
#* switch to the "new_bug_fix" branch (pull down menu)
 
#* switch to the "new_bug_fix" branch (pull down menu)
 
#* click on "pull request"
 
#* click on "pull request"
#** creates action item on GitHub, a request that changes on branch "new_bug_fix" be merged onto master branch
+
#* fill in and submit web form
 +
#** creates action item on GitHub, a request that changes on branch "new_bug_fix" be merged into master branch
 
# Ask someone else to act on pull request. They
 
# Ask someone else to act on pull request. They
 
#* go to the GitHub site and log in
 
#* go to the GitHub site and log in

Revision as of 12:50, 14 July 2015

The Workflow

Let's use the sim-recon repository as an example.

  1. Create local repository in the current directory
    • git clone https:/github.com/jeffersonlab/sim-recon
  2. Create a local branch
    • cd sim-recon
    • git branch my_work
  3. Check-out the new branch
    • git checkout my_work
  4. ... work on topic branch, make changes, add them, commit them...
  5. Push local branch to public branch
    • git push origin my_work:new_bug_fix
    • creates branch "new_bug_fix" on public repository
  6. Issue pull request
    • go to the GitHub site and log in
    • navigate to the repository page (https://github.com/JeffersonLab/sim-recon)
    • switch to the "new_bug_fix" branch (pull down menu)
    • click on "pull request"
    • fill in and submit web form
      • creates action item on GitHub, a request that changes on branch "new_bug_fix" be merged into master branch
  7. Ask someone else to act on pull request. They
    • go to the GitHub site and log in
    • navigate to the repository page (https://github.com/JeffersonLab/sim-recon)
    • click on "pull requests" in the right-hand column
    • fill in and submit web form to merge in changes

Notes on this Workflow

  • Everyone needs an account on GitHub.
  • Anyone can update the master branch.
  • Changes should go onto topic branches, but enforced only administratively.