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

  1. 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).

  2. 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
  3. If your laminar OS folder is empty, make sure to clone its submodule using this command: git clone--recurse-submodules

  4. 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
  5. When you start your development, make sure to create a new branch!

    git checkout -b your_development_branch
  6. 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!

  7. Before you merge, please rebase on top of the new changes! You can do this with the following commands:

  8. 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:

  1. Pull request from your localbranch on your fork to localbranch on the WARG Zeropilot-sw repository.

  2. Accept the PR, all your changes should now be on the WARG repo.

  3. From there, rebase from devel (or any other branch you may need)

  4. Continue working on the WARG Zeropilot-sw branch!