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

From GlueXWiki
Jump to: navigation, search
(The Workflow)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==The Workflow==
 
==The Workflow==
  
Let's use the sim-recon repository as an example.
+
Let's use the halld_recon repository as an example.
  
 
# 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/halld_recon</code>
 
# Create a local branch
 
# Create a local branch
#* <code>cd sim-recon</code>
+
#* <code>cd halld_recon</code>
#* <code>git branch my_work</code>
+
#* <code>git branch bug_removal</code>
 
# Check-out the new branch
 
# Check-out the new branch
#* <code>git checkout my_work</code>
+
#* <code>git checkout bug_removal</code>
 
# ... work on topic branch, make changes, add them, commit them...
 
# ... work on topic branch, make changes, add them, commit them...
 
# Push local branch to public branch
 
# Push local branch to public branch
#* <code>git push origin my_work:new_bug_fix</code>
+
#* <code>git push origin -u bug_removal</code>
#* creates branch "new_bug_fix" on public repository
+
#* creates branch "bug_removal" on public repository
 
# Issue pull request
 
# Issue pull request
 
#* go to the GitHub site and log in
 
#* go to the GitHub site and log in
#* navigate to the repository page (https://github.com/JeffersonLab/sim-recon)
+
#* navigate to the repository page (https://github.com/JeffersonLab/halld_recon)
#* switch to the "new_bug_fix" branch (pull down menu)
+
#* click on "branches" on the "code" tab
#* click on "pull request"
+
#* find the line for the "bug_removal" branch
 +
#* click on "pull request" on that line
 
#* fill in and submit web form
 
#* 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
+
#** essentially creates action item on GitHub, a request that changes on branch "bug_removal" be merged into master branch
# Ask someone else to act on pull request. They
+
# Ask someone else to act on pull request. Pull requesters cannot merge their own request. The person doing the merge:
#* go to the GitHub site and log in
+
#* goes to the GitHub site and logs in
#* navigate to the repository page (https://github.com/JeffersonLab/sim-recon)
+
#* navigates to the repository page (e.g., https://github.com/JeffersonLab/halld_recon)
#* click on "pull requests" in the right-hand column
+
#* clicks on "pull requests" in the right-hand column
#* fill in and submit web form to merge in changes
+
#* 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==
 
==Notes on this Workflow==
  
 
* Everyone needs an account on GitHub.
 
* Everyone needs an account on GitHub.
* Anyone can update the master branch.
+
* Anyone can push to the master branch from their private repository. No one should.
* Changes should go onto topic branches, but enforced only administratively.
+
* Changes should go onto topic branches; this is enforced only administratively.

Latest revision as of 20:27, 13 May 2020

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 (e.g., https://github.com/JeffersonLab/halld_recon)
    • 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.