Welcome to "Fork, Commit, Merge"! A project designed to help you familiarize yourself with the open source contribution workflow on GitHub.
- Prerequisites
- Setup Instructions
- Tasks
- Submitting Your Changes
- Influences
- What's Next?
- Contact
- License
- List of Contibutors
Before you start, you'll need to install Git, Node.js, and npm.
Git is a version control system that lets you manage and keep track of your source code history.
- For Linux users, you can install Git via your distribution's package manager. For example, on Arch you would use the command:
sudo pacman -S git
and in Ubuntu/Debian:sudo apt-get install git
- For macOS users, you can install Git via Homebrew with the command:
brew install git
- For Windows users, download Git from Git for Windows and follow the installation instructions.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine, and npm is a package manager for Node.js.
- You can download Node.js and npm from the official Node.js website. This will install both Node.js and npm on your machine. Follow the instructions on the website to install them.
- Fork this repository by clicking on the "Fork" button at the top-right corner of this page. This creates a copy of the repository in your GitHub account.
- Clone your forked repository to your local machine with the command:
git clone https://github.com/your-username/fork-commit-merge.git
Replace 'your-username' with your GitHub username.
- Navigate to your project folder and install the necessary dependencies. If you are solving the HTML or CSS issues, you don't need to run
npm install
.
cd fork-commit-merge
npm install
- Create a new branch with the command:
git switch -c fix-issue
We present several tasks with different languages and varying difficulty.
Firstly, open the tasks
directory and select which language you want to work with by opening one of the following directories:
- HTML
- CSS
- JavaScript
- TypeScript
Then you can open one of these directories to choose between three difficulties:
- Easy
- Medium
- Hard
After that you are ready to get solving!
Go to the task you selected to get more info about the issue by clicking one of the following:
Once you've made the necessary changes and all the tests are passing, you're ready to submit your changes!
- Stage your changes with the command:
git add <files-that-you-changed>
- Commit your changes with the command:
git commit -m "Fixed failing tests"
- Push your changes to your forked repository with the command:
git push origin fix-issue
Once you've pushed your changes to GitHub, you're ready to create a pull request. Go to your forked repository on GitHub.
-
You should see text "fork-commit-merge had recent pushes" and button "Compare & Pull request" next to it.
-
Click the "Compare & Pull request" button to proceed to the pull request page of the original fork-commit-merge repository.
-
Fill in the title and description boxes to inform what you did to make all of the tests pass successfully.
-
Finally, click "Create pull request" to finish creating the pull request.
Congratulations on making your first open source contribution on GitHub!
Sit back and wait for a response and feedback of the pull request. If everything is working fine, you should get the pull request merged.
After the merge, actions-user bot will reset the files for the next contributor.
This project was inspired by a number of fantastic resources designed to help newcomers make their first contributions to open source. In particular, we would like to acknowledge:
- First Contributions: A hands-on guide to making your first open source contribution.
- Contribute To This Project: A project that encourages contributors to add their own profile information.
- Contribute to Open Source: A project that simulates the GitHub workflow to help beginners get their first taste of open source.
I highly recommend checking out these projects if you want to learn more about contributing to open source!
Congratulations on making your first open source contribution! If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. Also i would really appreciate if you could leave a star, so more developers can find this project. I look forward to seeing your contributions!
For any queries, feel free to open an issue or reach out to me at [email protected].
This project is licensed under the terms of the MIT license.
Massive thanks to all of the these fine individuals who contributed to this project!