Github Collaboration

For full documentation visit our wiki

Gitflow

abissmal gitflow

Current Roles

  • Tania Molina (Lead Developer/Project Manager): @lastralab
  • Grace Smith-Vidaurre, PhD (PI, Developer, R Lead): @gsvidaurre

New collaborators

  • Set up a local replicate of the tracking system that is separate from the code owner
  • Make sure that issues that require modifying the same file are merged to avoid conflicts downstream (copy and paste into a single issue, close the other). Alternatively, work on these issues one at a time (after one issue was merged to main)
  • For every issue that requires developing or modifying code, create a local branch with the issue number (e.g. PCT-10 for issue #10) from the main branch (e.g. see Git workflow above)
    • git checkout main
    • git branch to confirm that you're on the main branch
    • git fetch
    • git pull
    • git checkout -b PCT-[insert issue number]
    • git branch to confirm that you're on the new local branch
  • Make changes on this local branch
  • Test changes on the local branch by running the tracking system and checking for anticipated outcomes or errors
  • Commit local changes and push them to the same branch in the remote master (may need to publish the local branch remotely)
    • git fetch
    • git pull
    • git add ./[name of files(s)]
    • git commit -m '[PCT-000] Then add your message'
    • git push
  • Make a pull request to merge the remote version of the local branch with the staging branch
  • The code owner tests the updates on their local tracking system (see above) before confirming the pull request and merging the changes to the main branch

Setup Git credentials before cloning

These steps will save time instead of entering your Git credentials over and over.

  1. Create a new github token and store it safely.
  2. Store settings locally:
    git config --global credential.helper store
  3. Clone repository:
    git clone https://github.com/lastralab/ABISSMAL.git
  4. Insert credentials using your new token as password