A copy of the BIOFAB production protocols.
Git How To A Short Guide for Protocol Development
This guide assumes basic knowledge of several git features such as: Remote Repos Branching Merging Branches Committing changes
For general information on Git and git commands please reference:
https://rogerdudler.github.io/git-guide/
Google! Lots of good documentation on google
Although not needed the Git desktop app provides a convenient GUI for easy use.
Advice on maintaining a good git workflow:
https://drewdevault.com/2019/02/25/Using-git-with-discipline.html
Super in-depth tutorial on Git Concepts (not necessary to use git, but full of great information): https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc
Benefits of Git Tracks changes seamlessly Enables collaborative work Allows for code reviews and checks for conflicts
How git will work for us (for now until more tools are built):
- Task Is posted in Asana
- Developer “claims” task
- Navigate to your local repo and Pull Master (this ensures you are starting from the most recent head)
- Branch Master to a working branch (named appropriately)
- Name should reflect the task at hand and (in a word or two) describe what issues are being addressed.
- Work in the Working Branch from here on!! NEVER work in master.
- Make changes to appropriate files.
- Copy code to Nursery or LocalHost for testing
- This step could eventually be automated. However for now just copy the entire file to the testing platform.
- Test code
- Loop to Step 5 until Code performs as expected and solves issue
- Add All and Commit to Working Branch
- Push Working Branch to remote
- Add all changes to Nursery
- Contact Lab Managers for testing
- Loop to Step 5 until Lab Managers approve testing
- Create a Pull Request for code review before merging to master.
- Add comments about what you did and/or link to the original Asana task.
- Refer to code review list for code reviewers (to be created soon just a list of names)
- Choose the “next person” on the list unless you have a compelling reason to have a specific person review your code (e.g. they created the library you changed etc)
- Add that person as a reviewer to the request. Also add Amy as a reviewer.
- Once changes are reviewed, merge to master.
- Once merge is successful UPDATE PRODUCTION
- Copy and paste all changed files from the repo to Production
- Close issue on Asana
Note: Git will be the “official” version of all protocols in Production and steps should be taken to ensure that Production and the master branch match at all times.
Note: It is good practice to add and commit any time you have made a notable, distinct, complete change. Even if this change does not solve the “issue” on a whole. This helps to keep a detailed log of changes.
Note: Ensure commit messages clearly describe changes made
Note: Each time a commit is made that commit should be pushed to remote (same branch). This saves a backup of your work in case your computer disintegrates.