Skip to content

Software Tutorials

JoshuaGabriel edited this page Sep 18, 2021 · 2 revisions

Contents

  1. Overview
  2. New Member Tutorial
  3. Learning Git Tutorial

1. Overview

2. New Member Tutorial

What: Complete the following tutorial that will introduce you to Slack, CIRC, and Github projects. Check-off each box as you complete the tasks.

Why: To introduce new members to our workflow.

Subtasks:

  • Since you are now starting this issue, go to the New Software Members project board and drag and drop this issue from ‘To Do’ to ‘In Progress’. When you are dragging and dropping, make sure to click on the white-space in the issue. Make sure that you are moving the issue that is assigned to you, and not someone else!

Slack

  • Get invitation and join our Slack channel.
  • Join the #software Slack channel.
  • Navigate to your profile settings: click on your name in the top left > click 'Profile & account' > click 'Edit Profile'
  • Add the name that you prefer to be called by as your ‘Display name’.
  • Add your full name to the 'Full name' section.
  • Add your position (for instance, “Software Member”) to the ‘What I do’ section.
  • Set your profile photo to a photo of yourself. This is extremely useful so that other team members can get to know your face/name. It also helps the Mechanical and Electrical teams find you if they need to contact you but don’t know your name yet.

Competition

  • Visit CIRC main page and watch the 2019 Canadian International Rover Challenge Wrap-Up Video on the main page
  • Visit CIRC competition tasks and read through all five of the CIRC 2020 Competition Tasks. To get you started, there is a short summary of these tasks in our #software Slack channel.

Software Team Plan

  • Navigate to the UVic Robotics organization projects page.
  • Look over the Rover Roadmap project board. This gives a broad overview of all of the components that are needed for us to enter the CIRC competition. It is a good idea to get familiar with it.
  • Look over the February Sprint project board. This is the workflow that our team will follow:
  1. To do: Holds issues that are yet to be started
  2. In progress: Holds issues that are currently in progress
  3. Review in progress: Holds issues that have an active pull request (you will learn about pull requests soon)
  4. Reviewer approved: Holds issues where all reviewers have approved the corresponding pull request
  5. Done: Holds issues that are completed and no longer require any more work.

By the end of February, all issues should be in the Done category.

  • Notice how some issues have someone assigned to them, which is signified by their Github profile picture in the bottom-right of the issue
  • Notice how some issues have labels (eg. High priority) attached to them
  • Click on the title text of any issue so that the issue’s preview pops up on the right-side of the screen. Then click on “Go to issue for full details” at the bottom of the page. This is what a full issue looks like, which a single member will work on.
  • If it is not obvious to others that your Github username matches you, then add (at least) your first name to your Github profile. This will make it easier to identify who is assigned to what issue.

Misc

  • Navigate back to the New Software Members project board and notice that your issue has a status bar, which corresponds to the number of subtasks you have checked-off. When you are assigned an issue with subtasks, make sure to check them off (at least) before weekly meetings. This helps your team lead track your progress.
  • If you have any questions or feedback about any of the above tasks, then message Sarah.
  • When you have checked off all of the boxes, navigate back to the project board that this issue is in and move the issue from ‘In progress’ to ‘Done’ :)

3. Learning Git Tutorial

What: Complete the following video tutorials that will teach you how to use Git with the Git GUI called Fork. This tutorial will take you roughly 2 hours plus any time that you pause the videos to try things out.

Why: To learn how version control works so that you can contribute to our repositories. We are starting off with a Git GUI (Fork), rather than the command line, because it is better for teaching Git concepts. After becoming proficient with Fork, you will be able to learn git on the command line a lot quicker (if you so desire). We will all use Fork to create an supportive environment where everyone is familiar with the same software and can assist each other. This tutorial is offered as videos that you can follow along, because it lets you learn at your own pace while getting hands-on experience.

Dependencies: Before completing this tutorial, make sure that you have completed your assigned "New Member Tutorial" issue.

Subtasks:

Set up

Learn To learn how to use Git, follow along with videos from Zell Liew's Youtube Channel. These videos will give you an excellent background on how Git works, and you can follow along at the same time. Watch the videos in order and check-off each task.

  • Note: Zell mentions GitKraken as an alternative, but recently GitKraken has reduced their free tier to no longer allow developers to work with private branches, so if you wanted to try this out for your homework assignments then you will need to pay $$.
  • Note: Zell briefly demonstrates how to initialize a repository with the command line. If you are using Windows and you want to try this, then you will need to install git for the command line. He doesn't use this in any of his future videos, so it is up to you if you want to experiment. For now, we will focus on using Fork.
  • Note: We will not use Git Flow, but if you are looking to get a developer co-op position soon, then this will give you an edge. The same goes for the other videos listed here as optional

Demonstrate Now, you will have a solid grasp of how to interact and contribute to Github repositories, so try it out with our Test repository:

  • 1. Clone the Test repository
  • 2. Create a branch
  • 3. Commit some text
  • 4. Push your changes
  • 5. Create a pull request with @JoshuaGabriel as a reviewer
  • Note: Typically, at this point, on this current 'Learn to use Git' issue you would click on 'Linked pull requests' in the sidebar and link the pull request to this issue so that we can keep track of them. However, that step can't be done here because your pull request is in the 'Test' repository, while the 'Learn to us Git' issue is in the 'Tutorials' repository.
  • 6. After your reviewer has accepted your pull request, you can merge it to the master branch

If you are confused about any of these tasks, then you are likely not the only one! Provide feedback to @s-sparrow.

In a future issue, we will discuss how to create good git commits! :)

This tutorial was made by @s-sparrow, Software lead 2019-2020

Clone this wiki locally