Git Workflow
Moving forward from Winter 2022, WARG’s Firmware team will be following a Feature Branch Development Structure
, of which there are many guides and docs. For example:
General steps for development
Get access to the WARG Zeropilot repository by requesting to join the WARG zeropilot team using this link: https://github.com/orgs/UWARG/teams/zeropilot and then pinging your leads or bringing it up at a meeting (preferable).
Use your favourite git manager to clone the WARG Zeropilot repository. You can do this using the following command:
git clone https://github.com/UWARG/ZeroPilot-SW.git
If your laminar OS folder is empty, make sure to clone its submodule using this command: git clone--recurse-submodules
Then, make sure you are up to date by quickly pulling devel (our development branch).
git checkout devel git fetch origin git reset --hard origin/main
When you start your development, make sure to create a new branch!
git checkout -b your_development_branch
You can push/pull/commit to your branch as you do your work! Do this often to prevent data loss in case something happens to your laptop!
Before you merge, please rebase on top of the new changes! You can do this with the following commands:
When you are ready to merge changes in, make sure you go through the PR checklist, and then PR into devel!
Transitioning from Triangular Workflow
Prior to February 2022, the Firmware team used a triangular git workflow. If you are currently, or are still using this method, please see step #1 and request to join the UWARG/Zeropliot team on Github. Once you’ve done that, ping a lead and they’ll ping you back when you’ve been approved (you should also get an e-mail if you have notifications on). THEN:
Pull request from your
localbranch
on your fork tolocalbranch
on the WARG Zeropilot-sw repository.Accept the PR, all your changes should now be on the WARG repo.
From there,
rebase
from devel (or any other branch you may need)Continue working on the WARG Zeropilot-sw branch!