Skip to content

Contributing

aolivier23 edited this page May 20, 2021 · 3 revisions

Visibility and Authorship

  • MINERvA collaborators: email Andrew Olivier to get permission to edit this wiki.
  • The entire world can see our repository. This helps accomplish MINERvA's data preservation goals.
  • Don't put things here that you don't want the world to see. That includes passwords as well as snarky code comments.
  • This is a heavily modified fork of Mehreen's new MAT-based analysis code. The initial modifications and wiki page were written by Andrew Olivier.
  • More authors are most welcome. Just please follow the stability rules below.

Stability and Branches

  • Please help keep the main branch compiling and our validation steps working
  • To save code that doesn't compile, please create a feature branch

Branches 101

  • Branches in git are alternative histories of a repository
    • They start from a specific commit. This doesn't have to be the latest commit.
    • Other users can see your branch by checking it out instead of the main branch.
    • They can be merged into other branches
  • Checking out a branch will change the files in your source code directory automatically. This is good! The git repository contains instructions for git to restore the last committed version of the branch you used to be on. Say goodbye to dozens of directories containing experimental changes. Branches automate this.
  • We will use branches in this repository to save and share changes that temporarily break other features
  • How to use a feature branch:
    • Create a new branch: git checkout -b feature/aolivier_low_recoil #Please include your username before a description of what you're working on
    • Make lots of git commits to your branch...
    • Change branches: git checkout feature/aolivier_low_recoil or git checkout main
    • Put working changes back into the latest main branch: git checkout main && git merge feature/aolivier_low_recoil