Tilde project tutorial: How Repo projects work

Hard Prerequisites
  • TOPICS: Basic introduction to Github

  • There are a few kinds of projects you can do and they can be submitted in different ways. In this tutorial you’ll see how to get a repo project to complete.

    Start the project

    If you have not yet clicked the “start project” button for this card, do so now. You’ll see the card move to In Progress.

    It might take a few seconds to move. The reason for this is that a whole lot of things are happening in the background.

    • A github repo is created for you to work on. This is a private repo, so only certain people can see it
    • The master branch is protected. We’ll talk more about what this means a little bit later
    • you are added as a “collaborator” on the repo so you have access

    Now explore the card. Click on the details button and see what’s there.

    FAQ

    I can’t access my repo!

    When you are added to a repo as a collaborator, then Github sends you an invitation as an email. Your github account is associated with an email address, it is CRITICAL that you monitor that email address.

    Also note that you will get invitations to collaborate on other people’s repos from time to time. You need to accept these invitations. They are for review purposes.

    I’m going to tell you a little secret. Working with junior developers is annoying. Generally when a junior developer gets their first job and have to interact with a serious code base and a team of mid and senior developers, they just bump their heads on git for weeks. Even if they know how to write code, they dont know how to write code on a team.

    Generally when you work on a serious project with a serious team, you’ll need to incorperate your code into their repo. So we want you to start practicing now.

    I admit it might feel a little weird at first, but you’ll get used to it :)

    Why can’t I push to the master branch?

    We “protect” the master branch in order to stop you from pushing to it. The reason we do this is because on a professional dev team, you wont be pushing straight to master. You’ll be making your own branches and getting those reviewed and merged into the master branch by interacting with your team mates. This keeps the master branch clean and shiney.

    Instructions

    If you look at the project details you’ll see that a repo has been created for you. Please click on the link and visit the repo page on Github.

    1. Make a branch

    Create a branch. In your branch add a markdown file. This is a plain text file with the extension .md. You can create one of these with ny old text editer. We’ll learn more about markdown later, it’s a useful tool for documenting projects.

    In your markdown file, just write some stuff. Whatever you want really. Make a new commit on your branch with your new content.

    2. Make a PR (Pull Request)

    Make a PR that in order to merge your stuff into master. You’ll notice that you can’t merge it though. This is because the master branch is protected. You need to get a little help.

    3. Get your PR merged

    In order to get your stuff merged into master, you need 2 people to “Approve” your PR.

    Read more about PR approvals here: https://docs.github.com/en/enterprise/2.13/user/articles/approving-a-pull-request-with-required-reviews

    Remember that it is YOUR JOB to get YOUR CONTRIBUTIONS merged. If you need someone to review your stuff then poke them and nag them until it gets done. And of course if someone asks you to review their stuff, do your best to review it quickly, accurately and completely.

    If someone requests changes on your PR then you’ll need to act on those as quickly as possible. Always try to learn from feedback quickly. Otherwise you’ll just make repetitive mistakes.

    If everyone does their best to review stuff quickly and respond quickly then nobody will be left waiting around. Rapid feedback is a very good skill to practice. Rapid feedback is one thing that makes a dev team rock.

    If there aren’t enough collaborators on your repo in order to get your stuff merged, please make a noise. A staff member will help out.

    Common problems:

    Sometimes people struggle to get their PRs merged because there aren’t enough people on the repo, or because the people who are meant to review your work aren’t moving quickly enough.

    Please remember that it is YOUR RESPONSIBILITY to get stuff merged. There are people around who you need to work with in order to achieve your goals, but you need to remember that getting stuff merged is YOUR JOB.

    1. If you dont have enough people on your repo so there is nobody to review your work: Ask a staff member to assign some reviewers to your work
    2. Nag your reviewers to review your work. Be as annoying as you need to be. It’s on you to chase reviews
    3. If your reviewers are being too slow, please tell a staff member.

    On the flip side, if someone asks you to review their work then treat that as your highest priority task. Do it as soon as possible. Get into the habit of supporting the people around you by giving them fast and accurate feedback. Then when you get your first serious dev job, your team will love you.

    4. Move your card to the REVIEW column (AFTER YOUR PR IS MERGED! NOT BEFORE!)

    NOTE: If your PR is not merged you will be marked as Not Yet Competent or Red Flag!!

    Now that your master branch is totally up to date with all the things, you can ask for a final review by clicking on the “Request Review” button on your Tilde board.

    This tells your peers and staff that you think your master branch is up to date and complete, and that you think your work is Competent or Excellent.

    DONT DO THIS IF:

    • your stuff isn’t merged
    • you didn’t complete the project, for example, if you skipped part 4 of a 5 part excercise then make a PR to complete your work first

    5. Double check that your master branch is up to date!

    If your master branch is empty at this point then cancel your review request, get your work merged, then put your card back into the review column


    RAW CONTENT URL