Skip to content
This repository was archived by the owner on Aug 30, 2023. It is now read-only.

Challenge 5 #1123

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Contributing Guidelines

Thank you for considering contributing to the repository. This guide details all the general information that one should know before contributing to the project.
Please stick as close as possible to the guidelines. That way we ensure that you have a smooth experience contributing to this project.

### General Rules :
These are in general rules that you should be following while contributing to an Open Source project :

- Be Nice, Be Respectful (BNBR)
- Check if the Issue you created, exists or not.
- While creating a new issue make sure you describe the issue clearly.
- Make proper commit messages and document your PR well.
- Always add Comments in your Code and explain it at points, if possible add Doctest.
- Always create a Pull Request from a Branch; Never from the Main.
- Follow proper code conventions because writing clean code is important.
4 changes: 4 additions & 0 deletions Challenges/challenge_1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Welcome to Challenge 1

Welcome to the first challenge!
We will start off with an easy task.
22 changes: 22 additions & 0 deletions Challenges/challenge_10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Welcome to Challenge 10

Welcome to the 10th challenge!

Today's challenge is based on the concept of signing your commits. Signing the commits is a way of showing that only authentic commits are being made.

A lot of open source projects have DCO which stands for [Developer Certification of Origin](https://github.com/apps/dco) including this repository itself and it tries to verify that each commit is signed or not. In case your commit is not signed it will reflect in the pull request that it doesn't pass the DCO test.

You can read more about how to sign commits [here](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)

Task:
1. Setup the ability to sign commits locally in your systems
2. Whenever committing in the future always try to use signed commits
3. Make a new signed commit to the pull request that you have made in previous challenges by making this change to the ``yourusername.md`` file:
```
---
name: your_name
github_user_name: YOUR-GITHUB-USERNAME
url_of_github_issue: Link_of_the_github_issue_created_in_first_challenge
your_favroite_programming_language: Add your favorite programming language here
---
```
9 changes: 9 additions & 0 deletions Challenges/challenge_11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Welcome to Challenge 11

Welcome to the 11th challenge!

Today's challenge is simple.

Task:
1. Create another branch from your current branch created in previous challenges (Don't create a new branch from main).
2. Share screenshot of this new branch in the issue created in previous challenge
14 changes: 14 additions & 0 deletions Challenges/challenge_12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Welcome to Challenge 12

Welcome to the 12th Challenge

Today's challenge is a re-practice of the 7th Challenge (https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_7.md?plain=1)

So focus for this challenge will be to practice the ``git rebase`` command. We still see a number of Pull requests that have a lot more commits than there should be, therefore we give you a chance to correct it again.

Ensure to practice the ``git rebase`` command by creating your own local git repository. You can checkout this guide: https://www.freecodecamp.org/news/git-squash-explained/

Task:
1. Practice git rebase, and how to squash commit susing git rebase in your local projects
2. Once done, try to squash the commits in your pull request in the Challenge repository
3. We also see a lot of challengers are not signing their commits. Refer to Challenge 10: https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_10.md and ensure to sign your commits.
10 changes: 10 additions & 0 deletions Challenges/challenge_13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Welcome to Challenge 13

Welcome to the 13th Challenge

Today's challenge involves how to use ``git stash`` command effectively. You can refer on how to stash your commits [here](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning)

Task:
1. Inside the branch you created in the previous challenge ``your-username-details`` create a new file inside the ``contributors/<YOUR-GITHUB_USERNAME>/`` directory.
2. Use the git stash command to move these changes to the stash area
3. Remove the content from the stash area and share a screenshot of this inside the Github issue you created in the first challenge
11 changes: 11 additions & 0 deletions Challenges/challenge_14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Welcome to Challenge 14

Welcome to the 14th Challenge

Today is the first part of the two challenges related to resolving merge conflicts. You can take a look at [this article](https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts) to learn more about merge conflicts.

As part of the challenge, try to create a scenario of a merge conflict locally in your system for a project that you can create.

Task:
1. Follow the article shared above and try to reproduce a case of merge conflict in your system for a project and try to resolve it
2. Share appropriate screenshot in the issue created in the first challenge.
15 changes: 15 additions & 0 deletions Challenges/challenge_15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Welcome to Challenge 15

Welcome to the 15th Challenge

In this 2 part challenge, we will try to emulate and fix merge conflicts via git.

Today is the first part of this challenge:

Task:
1. Update your Forked Repo From the Original Repo. Also ensure that your branch ``your-user-name-details`` is also synced with the latest changes from the original repository

2. In your branch ``your-user-name-details`` open the add your name to the list of challengers inside the ``challengers-list.md`` file by following the format in the file.

3. Push your change to reflect in the Pull Request created in previous challenges

14 changes: 14 additions & 0 deletions Challenges/challenge_16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Welcome to Challenge 16

Welcome to the 16th Challenge

In this 2 part challenge, we will try to emulate and fix merge conflicts via git.

Today is the second and final part of this challenge:

Task:
1. You will notice that your pull request will have a conflict: <img width="636" alt="image" src="https://user-images.githubusercontent.com/19529592/190574995-0cc506a8-a2fe-4aa4-98bd-4658e8aa2fc1.png">

2. Try to resolve this merge conflict using local git

3. Once resolved, share screenshot on the github issue created in the previous challenges
19 changes: 19 additions & 0 deletions Challenges/challenge_17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Welcome to Challenge 17

Welcome to the 17th Challenge

Today we will be leaning how to work with GitHub Desktop

#### Brief Overview

GitHub Desktop is a GUI that empowers *lazy* users who prefer not to work with the CLI to still interface with Git and GitHub.
To learn more visit: [What the heck is Git GUI](https://help.github.com/en/desktop/getting-started-with-github-desktop)


## Tasks

- Download GitHub desktop
- Create a new repository on GitHub
- Add anything you want to your repo
- Follow through all the GitHub workflow you know using the GUI (commit, branching, pulling, pushing etc)
- Share a screenshot of your experience using github desktop on the issue created in prior challenges
11 changes: 11 additions & 0 deletions Challenges/challenge_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Welcome to Challenge 2

Welcome to the second challenge!
Today we will focus on how to fork and create a clone of a Github repository

Task:
1. Create a fork of this repository
2. Clone the forked project locally in your system using the ``git clone`` command
3. Add a new comment to the issue you created in the [first task](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_1.md). The comment should have the following:
- URL of your forked repository
- A screenshot of the cloned project in your system
10 changes: 10 additions & 0 deletions Challenges/challenge_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Welcome to Challenge 3

Welcome to the third challenge!
Today we will focus on how to create a new branch in a git repository

Task:
1. Following up on the [previous task](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_2.md), create a new branch locally in your forked clone repository
2. The branch name should be as follows: ``your_github_username-details``. Example: ``shivaylamba-details``
3. Add a new comment to the issue you created in the [first task](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_1.md). The comment should have the following:
- Screenshot showing the list of all the current branches inside of your forked clone repository
11 changes: 11 additions & 0 deletions Challenges/challenge_4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Welcome to Challenge 4

Welcome to the fourth challenge!
Today we cover how to Update Fork Repo From the Original Repo

The main repository has been updated since the last fork that all of you created. The goal is to updated the forked repository with the changes made in the original repository. This can be done with the git command of ``git remote add upstream``

Task
1. Update your forked repository locally with the content of the original repository for both the main branch and the branch that you created in Challenge 3 using the ``git remote add upstream`` command
2. Once the changes in the forked repository and the original repository are synced in the git branch that you created in the 3rd Challenge, Add a new comment to the issue you created in the [first task](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_1.md). The comment should have the following:
- Screenshot showing the latest repository contents
28 changes: 28 additions & 0 deletions Challenges/challenge_5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Welcome to Challenge 5

Welcome to the fourth challenge!
Today's goal is to update your forked repository and then create a Pull Request

Task
1. Ensure your forked repository is in sync with the latest changes in the main repository. Also ensure that the git branch that you created in Challenge 2 is also in sync with the latest changes
2. Create a new folder inside the `contributors` folder, and name it with your github username. It should look something like this `contributors/<YOUR-GITHUB_USERNAME>/`. Ex.

```
contributors/shivaylamba/
```

3. Create a markdown file in the folder you created following the naming convention for the file: `<YOUR-GITHUB-USERNAME>.md`. Ex.

```
contributors/shivaylamba/shivaylamba.md
```

4. Copy the following template into your file, delete the placeholder text and fill the information with yours.

```
---
name: your_name
github_user_name: YOUR-GITHUB-USERNAME
---
```
5. Submit your Pull Request
19 changes: 19 additions & 0 deletions Challenges/challenge_6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Welcome to Challenge 6

Welcome to the sixth challenge!
Today's goal is to update your pull request that you created in [Challenge 5](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_5.md?plain=1)

Task
1. Create a new commit in the branch you created in Challenge 2 in your forked repository
2. The change that you have to make should be the following:
In the markdown file that was created in Challenge 5, edit the details as follows:
```
---
name: your_name
github_user_name: YOUR-GITHUB-USERNAME
url_of_github_isse: Link_of_the_github_issue_created_in_first_challenge
---
```
3. After making this change create a commit with a proper commit message and push the changes
4. Check if the commit reflects in the Pull request you created in Challenge 5

9 changes: 9 additions & 0 deletions Challenges/challenge_7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Welcome to Challenge 7

Welcome to the seventh challenge!
Today's goal is to implement the squashing of the git commits. Squashing is used to combine multiple commits into one. This is done using the interactive mode of Git Rebase command.
In the [6th Challenge](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_6.md?plain=1) all of you created an additional commit to update the markdown file.
So refer to [this guide](https://www.freecodecamp.org/news/git-squash-explained/) on Git merge.

Task:
1. Using the interactive mode of Git Rebase command combine the multiple commits created in your Pull requests and then push that to the Pull request you have created in the previous challenges.
11 changes: 11 additions & 0 deletions Challenges/challenge_8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Welcome to Challenge 8

Welcome to the 8th challenge!

Today's challenge is simple. But along side the task, please give the [following article](https://www.atlassian.com/git/tutorials/undoing-changes/git-reset) a read, as this will be used in Challenge 9.


Task:
1. Inside the branch you created during the prior challenges in your forked repository, make a new file by the name of ``your-github-username-2.md`` and add any details you may want to add to this markwdown file and push the change

2. Ensure the change appears in the Pull request.
19 changes: 19 additions & 0 deletions Challenges/challenge_9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Welcome to Challenge 9

Welcome to the ninth challenge!

Today's task is a continuation of yesterday's task [Task 8](https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_8.md?plain=1).

Yesterday the task was to create an additional commit in your branch. And today's focus will be to remove that commit that has been pushed from the pull request created in previous challenges. The main purpose of this is because there can be times when you might push an unncessary or wrong commit and you way want to remove it from your pull request.

This can be done by using the following command: ``git reset``

Here is an article you can refer to for understanding how git reset works: https://www.atlassian.com/git/tutorials/undoing-changes/git-reset#:~:text=a%20shared%20repository.-,Summary,Index%2C%20and%20the%20Working%20Directory.

So the task is to identity the commit id of the commit you want to remove, use the git reset command, and remove the commit from the pull request by force pushing into it.


Task:
1. Identify the commit id that needs to be removed (you should have created this in the 8th Challenge)
2. Use git reset and force push, to remove the commit from your pull request.
3. Share a screenshot of this, in the issue you created in previous challenges.
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,28 @@
# scaler-september-open-source-challenge
# scaler-september-open-source-challenge

<a href="https://discord.com/invite/scaler">
<p align="center">
<img src="https://user-images.githubusercontent.com/19529592/187837662-ed1d9753-11bf-48dd-86ce-f5683a55d990.png" />
</p>
</a>

## What is the Scaler September Open Source Challenge?
Every day throughout September, for those who have enrolled, we will share one task. 
Participants will need to use their knowledge of Git and Github for each task, and the difficulty level of the tasks will rise daily.

The primary objective? To help the community become better at contributing to open source and building projects.

## Learning Outcomes
1. Learn how to contribute to open source projects. Learn the basics of creating issues, pull requests, Git and Github
2. Celebrate with new rewards every time you reach a milestone!

## Prizes
Consistency is what we're after. As a result, we have several levels or awards based on how consistently you complete the assignments.
You won't be qualified for the remaining tasks of the challenge if you are unable to complete and submit a task on any given day.

Here is the reward [tier list](https://scalerdiscord.notion.site/3eabe9a1900c4b8685ae55acb5c33cbe?v=001e8d4c287f4d96bae935c5d45de521).

## Contact Us
For all communications and queries, you can join our [Discord Server](https://discord.com/invite/scaler).

## Resources
4 changes: 4 additions & 0 deletions challengers-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# List of challengers
1. [Mrinal](https://github.com/mrinal1224)
2. [Shivay](https://github.com/shivaylamba)
3. [Raghav](https://github.com/raghavdhingra)
4 changes: 4 additions & 0 deletions contributors/shivaylamba/shivaylamba.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
name: Shivay Lamba
github_user: shivaylamba
---