https://github.com/tharunkumarreddypolu/grind-dsa
A one-stop place for DSA Preparation
https://github.com/tharunkumarreddypolu/grind-dsa
algorithms data-structures python
Last synced: 12 months ago
JSON representation
A one-stop place for DSA Preparation
- Host: GitHub
- URL: https://github.com/tharunkumarreddypolu/grind-dsa
- Owner: TharunKumarReddyPolu
- License: gpl-3.0
- Created: 2023-05-14T21:30:03.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-03T15:29:57.000Z (almost 2 years ago)
- Last Synced: 2025-02-09T19:41:22.162Z (about 1 year ago)
- Topics: algorithms, data-structures, python
- Language: Python
- Homepage:
- Size: 76.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hello DSA Enthusiastπ
# Welcome to Grind-DSA, A one stop place for DSA preparation.
## Feel free to Contribute ππ
## Contents
[1. Fork the project πͺ](https://github.com/TharunKumarReddyPolu/Grind-DSA#1-fork-the-project-)
[2. Clone the forked repository π₯](https://github.com/TharunKumarReddyPolu/Grind-DSA#2-clone-the-forked-repository-)
[3. Let us Setup π§βοΈ](https://github.com/TharunKumarReddyPolu/Grind-DSA#3-let-us-setup-%EF%B8%8F)
[4. Keep in sync alwaysβ»οΈ (best practiceπ€π») ](https://github.com/TharunKumarReddyPolu/Grind-DSA#4-keep-in-sync-always%EF%B8%8F-best-practice)
[5. Ready for the contribution π](https://github.com/TharunKumarReddyPolu/Grind-DSA#5-ready-for-the-contribution-)
[6. Create a new branch π±](https://github.com/TharunKumarReddyPolu/Grind-DSA#6-create-a-new-branch-)
### 1. Fork the project πͺ
[Fork Button](https://github.com/TharunKumarReddyPolu/Grind-DSA)
### 2. Clone the forked repository π₯
You need to clone (download) it to your local machine using below command in terminal
```bash
$ git clone https://github.com/TharunKumarReddyPolu/Grind-DSA.git
```
> This makes a local copy of the repository in your machine π
Once you have cloned the `Grind-DSA` repository in Github, moveβ‘οΈ to that folder first using the change directory `cd` command on Linux/ Mac/ Windows
```bash
$ cd Grind-DSA
```
### 3. Let us Setup π§βοΈ
Run the following commands to verify that your _local copy_ has a reference to your _forked remote repository_ on Github
```bash
$ git remote -v
```
It should display the below output
```
origin https://github.com/Your_Username/Grind-DSA.git (fetch)
origin https://github.com/Your_Username/Grind-DSA.git (push)
```
Now, let us add the reference to the original `Grind-DSA` repository using the below command π
```bash
$ git remote add upstream https://github.com/TharunKumarReddyPolu/Grind-DSA.git
```
> The above command creates a new remote as `upstream`
To Verify the changes run the below command
```bash
$ git remote -v
```
Output in console βοΈ:
```
origin https://github.com/Your_Username/Grind-DSA.git (fetch)
origin https://github.com/Your_Username/Grind-DSA.git (push)
upstream https://github.com/TharunKumarReddyPolu/Grind-DSA.git (fetch)
upstream https://github.com/TharunKumarReddyPolu/Grind-DSA.git (push)
```
### 4. Keep in sync alwaysβ»οΈ (best practiceπ€π»)
It is a better practice to keep the `local copy` in sync with the `original repository` and to stay updated with the latest changes. Run the below commands before making changes or in regular intervals to stay updated with the `base` branch
```
# Fetch all remote repositories and delete any deleted remote branches
$ git fetch --all --prune
# Switch to the master branch
$ git checkout master
# Reset the local master branch to match the upstream repository's master branch
$ git reset --hard upstream/master
# Push changes to your forked Grind-DSA repo
$ git push origin master
```
### 5. Ready for the contribution π
Once you are done with the above steps, you are ready to contribute to the `Grind-DSA` project code. Check out the `Code_Template.py` file of the `original repository` and solve the bugs or add new problems and solutions. Once you are done with your changes, submit your efforts with a `pull request`
## Hold on! Instructions are not done yet π
### 6. Create a new branch π±
Whenever you are going to submit a contribution. Please create a separate branch using the below command and keep your `master` branch clean (i.e. synced with the remote branch)
#### Method 1:
```bash
$ git branch Changetype_name
```
change type includes `bug fix`, `comments`, `problem_solved` etc.
the name includes your `first name` or `last name`
After creating the branch above, run the below command to checkout/switch to the new branch created
```bash
$ git checkout changetype_name
```
#### Method 2:
You can also create the branch and checkout to the desired branch using the single command below
```bash
$ git checkout -b changetype_name
```
To add your changes to the branch. Run the below command βοΈ
```bash
$ git add .
```
> Above command uses `period (.)` indicating all the files are added (or)
> to stage specific file changes, use the below command instead
```bash
$ git add
```
Then, Type in a message that is relevant for the code reviewer using the below command βοΈ
```bash
$ git commit -m 'relevant message'
```
Finally, Push your awesome hard work to your remote repository with the below command π€π€π»
```bash
$ git push -u origin changetype_name
```
Here, `changetype_name` refers to the branch in your remote repository
Finally, Navigate to your forked `Grind-DSA` repository in the browser, where you will see `compare and pull requests`. Kindly click and then add a relevant `title` and `description` to your pull request that defines your valuable effort. π₯³β
οΈ
Code should be fully functional and should produce the correct result, else pull request can't be merged.
## Help and improve the project better ππ€
Please discuss your concerns with [Tharun Kumar Reddy Polu](https://www.linkedin.com/in/polu-tharun-kumar-reddy/) before creating a new issue. π
_Please `STAR`βοΈ the repository if you like the content and code_**π
_Also enable the `WATCH`π button to keep watching the updates on the repository_**π
π―π»π§βπ»π©βπ» Happy Contributing π©βπ»π§βπ»π»π―