After the last session, you should now be able to answer the following questions / do the following:
đź’ˇ You can create a remote repository. đź’ˇ You can connect your local Git to a remote repository service. đź’ˇ You can pull and push changes to and from a remote repository. đź’ˇ You can clone a repository from a remote repository service.
Last session: recipes project
At the end of this session, you should have accomplished the following:
You connected your GitHub account to your local Git.
You created a new GitHub repository and uploaded (i.e., “pushed”) your recipes project.
You collaborated on a shared project by adding and committing changes to a partner’s repository.
Optional:
You cleaned up your project by deleting unnecessary files and branches.
You created a short README.md file in your repository.
Please keep the recipes folder! We will continue to use it in the following sessions.
đź’ˇ You can fork a repository. đź’ˇ You know the purpose and components of a Pull Request. đź’ˇ You can create a Pull Request from a forked repository. đź’ˇ You know how to collaborate using the popular workflow strategy GitHub flow. đź’ˇ You know the purpose and components of a README file. đź’ˇ You can protect your main branch.
Issues
đź’ˇ You understand the purpose of GitHub Issues. đź’ˇ You can create and manage Issues. đź’ˇ You can reference an Issue in another issue. đź’ˇ You can close an Issue with a commit or pull request.
Cheatsheet
Command
Description
git remote
Manages remote repositories
git clone
Creates a local copy of a repository
git pull
Fetches and merges the latest changes from a remote repository into the current branch
git fetch
Updates remote tracking branches
git push
Uploads local commits to a remote repository
GitHub Flow
Tasks
In this session, you will work on the following tasks:
Fork the recipes repository of another course participant (ideally someone who is not your collaborator from the previous exercise).
Create an Issue in your new collaborator’s repository (maybe their repository is missing a great recipe?).
Repeat the steps from the exercise on collaboration with remote repositories using the forked repository:
Clone the forked repository into a sensible location on your computer.
Create a new branch and create one or multiple commits “fixing” the Issue that you opened. If available, follow the contributing guide of your collaborator’s repository.
Push your changes to the remote repository.
Create a pull / merge request with your changes (hint: from the forked to the original repository) and refer to the Issue in your pull / merge request.
Reviewing pull requests
View any pull requests that are created in your recipes repository.
Review the changes made by the contributor in the pull request.
If needed, discuss additional changes with the contributor in the pull request.
Close the pull request by merging the proposed changes.
🚀 Bonus exercises
Repeat the entire forking workflow with Lennart’s recipes repository. Find out about the contributing guidelines in Lennart’s repo and follow them when creating a new recipe.
Solutions
Forking is a process where you create a copy of someone else’s repository under your own account. It allows you to freely experiment with changes without affecting the original project.
To fork the recipes repository of another course participant: (1) Go to the GitHub repository you want to fork. (2) Click the Fork button at the top-right corner of the repository page. (3) Select your GitHub account to fork the repository.
Create an Issue, suggesting a missing recipe: (1) Go to the Issues tab of your partner’s repository on GitHub. (2) Click New issue. Provide a title and description for the Issue, suggesting a missing recipe. (3) Click Submit new issue.
Clone the forked repository into a sensible location on your computer.