Learn how to create issues, Fork a repo, makes changes, and ask the maintainers to review and merge it
You have a GitHub repo and can push to it. All is well. But how the heck do you contribute to other people's GitHub projects? That is what I wanted to know after I learned git and GitHub. I will explain how to fork a git repo, make changes, and submit a pull request.
-
When you want to work on another's GitHub project, the first step is to fork a repo.
-
Once there click on the Fork button in the top-right corner. This creates a new copy of the repo under your Github user account.
$ git clone https://github.com/ananddasani/Java-Practice-Course.git
Don't forget to write your GitHub user name in place of YOUR_USERNAME
$ git checkout -b <YOUR-USERNAME>
-
You can now check the branches by pushing in the command: git branch. You will see the Master Branch and another branch with your username.
-
Start Coding 👩💻👨💻. Make apt commits with proper commit messages. Always use git status to see that you have not made changes on the file you were supposed not to.
-
Add all the changes with this command: (
git add .
). This will add the changes to your present workspace.
$ git add <FILE_NAME>
To stage all the changed files, type in:
$ git add --all or $ git add .
This command snapshots the file in preparation for versioning and further adds it to the staging area.
-
Upload all local branch commits to the remote repository.
-
$ git push origin <branch_name>
-
Once you push the changes to your repo, Go to your forked repository, the Compare & pull request button will appear in GitHub.
-
Click it and you'll be taken to this screen.
- Open a pull request by clicking the Create pull request button. This allows the repo's maintainers to reviews your work. From here, they can merge it if it is good, or they may ask you for some changes.
- Open a pull request by clicking the Create pull request button. This allows the repo's maintainers to reviews your work. From here, they can merge it if it is good, or they may ask you for some changes.
Issues can be used to keep track of bugs, enhancements, or other requests.