diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..5ed6b25df --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/Challenges/challenge_1.md b/Challenges/challenge_1.md new file mode 100644 index 000000000..c4522c6fa --- /dev/null +++ b/Challenges/challenge_1.md @@ -0,0 +1,4 @@ +## Welcome to Challenge 1 + +Welcome to the first challenge! +We will start off with an easy task. \ No newline at end of file diff --git a/Challenges/challenge_10.md b/Challenges/challenge_10.md new file mode 100644 index 000000000..bbe1a7709 --- /dev/null +++ b/Challenges/challenge_10.md @@ -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 +--- +``` diff --git a/Challenges/challenge_11.md b/Challenges/challenge_11.md new file mode 100644 index 000000000..fa1527fa9 --- /dev/null +++ b/Challenges/challenge_11.md @@ -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 diff --git a/Challenges/challenge_12.md b/Challenges/challenge_12.md new file mode 100644 index 000000000..8835fee4d --- /dev/null +++ b/Challenges/challenge_12.md @@ -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. diff --git a/Challenges/challenge_13.md b/Challenges/challenge_13.md new file mode 100644 index 000000000..b683be82f --- /dev/null +++ b/Challenges/challenge_13.md @@ -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//`` 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 diff --git a/Challenges/challenge_14.md b/Challenges/challenge_14.md new file mode 100644 index 000000000..8c9f97f81 --- /dev/null +++ b/Challenges/challenge_14.md @@ -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. diff --git a/Challenges/challenge_15.md b/Challenges/challenge_15.md new file mode 100644 index 000000000..5e12e937a --- /dev/null +++ b/Challenges/challenge_15.md @@ -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 + diff --git a/Challenges/challenge_16.md b/Challenges/challenge_16.md new file mode 100644 index 000000000..6d89c448d --- /dev/null +++ b/Challenges/challenge_16.md @@ -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: image + +2. Try to resolve this merge conflict using local git + +3. Once resolved, share screenshot on the github issue created in the previous challenges \ No newline at end of file diff --git a/Challenges/challenge_17.md b/Challenges/challenge_17.md new file mode 100644 index 000000000..9ecc318d0 --- /dev/null +++ b/Challenges/challenge_17.md @@ -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 \ No newline at end of file diff --git a/Challenges/challenge_2.md b/Challenges/challenge_2.md new file mode 100644 index 000000000..ebf050b64 --- /dev/null +++ b/Challenges/challenge_2.md @@ -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 diff --git a/Challenges/challenge_3.md b/Challenges/challenge_3.md new file mode 100644 index 000000000..835579e1c --- /dev/null +++ b/Challenges/challenge_3.md @@ -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 diff --git a/Challenges/challenge_4.md b/Challenges/challenge_4.md new file mode 100644 index 000000000..42336996c --- /dev/null +++ b/Challenges/challenge_4.md @@ -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 \ No newline at end of file diff --git a/Challenges/challenge_5.md b/Challenges/challenge_5.md new file mode 100644 index 000000000..860e46c4c --- /dev/null +++ b/Challenges/challenge_5.md @@ -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//`. Ex. + +``` +contributors/shivaylamba/ +``` + +3. Create a markdown file in the folder you created following the naming convention for the file: `.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 \ No newline at end of file diff --git a/Challenges/challenge_6.md b/Challenges/challenge_6.md new file mode 100644 index 000000000..aea62ab79 --- /dev/null +++ b/Challenges/challenge_6.md @@ -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 + diff --git a/Challenges/challenge_7.md b/Challenges/challenge_7.md new file mode 100644 index 000000000..fe5cfb0bf --- /dev/null +++ b/Challenges/challenge_7.md @@ -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. diff --git a/Challenges/challenge_8.md b/Challenges/challenge_8.md new file mode 100644 index 000000000..3647ad565 --- /dev/null +++ b/Challenges/challenge_8.md @@ -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. diff --git a/Challenges/challenge_9.md b/Challenges/challenge_9.md new file mode 100644 index 000000000..895473b94 --- /dev/null +++ b/Challenges/challenge_9.md @@ -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. diff --git a/README.md b/README.md index f61ab9b42..960822869 100644 --- a/README.md +++ b/README.md @@ -1 +1,28 @@ -# scaler-september-open-source-challenge \ No newline at end of file +# scaler-september-open-source-challenge + + +

+ +

+
+ +## 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 diff --git a/challengers-list.md b/challengers-list.md new file mode 100644 index 000000000..2fb6f60ea --- /dev/null +++ b/challengers-list.md @@ -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) diff --git a/contributors/shivaylamba/shivaylamba.md b/contributors/shivaylamba/shivaylamba.md new file mode 100644 index 000000000..6e3107508 --- /dev/null +++ b/contributors/shivaylamba/shivaylamba.md @@ -0,0 +1,4 @@ +--- +name: Shivay Lamba +github_user: shivaylamba +--- \ No newline at end of file