diff --git a/sources/tech/20190730 How to create a pull request in GitHub.md b/sources/tech/20190730 How to create a pull request in GitHub.md new file mode 100644 index 0000000000..41d49bbea5 --- /dev/null +++ b/sources/tech/20190730 How to create a pull request in GitHub.md @@ -0,0 +1,144 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (How to create a pull request in GitHub) +[#]: via: (https://opensource.com/article/19/7/create-pull-request-github) +[#]: author: (Kedar Vijay Kulkarni https://opensource.com/users/kkulkarnhttps://opensource.com/users/fontanahttps://opensource.com/users/mhanwellhttps://opensource.com/users/mysentimentshttps://opensource.com/users/greg-p) + +How to create a pull request in GitHub +====== +Learn how to fork a repo, make changes, and ask the maintainers to +review and merge it. +![a checklist for a team][1] + +So, you know how to use git. You have a [GitHub][2] 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. In this article, I will explain how to fork a git repo, make changes, and submit a pull request. + +When you want to work on a GitHub project, the first step is to fork a repo. + +![Forking a GitHub repo][3] + +Use [my demo repo][4] to try it out. + +Once there, click on the **Fork** button in the top-right corner. This creates a new copy of my demo repo under your GitHub user account with a URL like: + + +``` +`https://github.com//demo` +``` + +The copy includes all the code, branches, and commits from the original repo. + +Next, clone the repo by opening the terminal on your computer and running the command: + + +``` +`git clone https://github.com//demo` +``` + +Once the repo is cloned, you need to do two things: + + 1. Create a new branch by issuing the command: + + +``` +`git checkout -b new_branch` +``` + + 2. Create a new remote for the upstream repo with the command: + + +``` +`git remote add upstream https://github.com/kedark3/demo` +``` + + + + +In this case, "upstream repo" refers to the original repo you created your fork from. + +Now you can make changes to the code. The following code creates a new branch, makes an arbitrary change, and pushes it to **new_branch**: + + +``` +$ git checkout -b new_branch +Switched to a new branch ‘new_branch’ +$ echo “some test file” > test +$ cat test +Some test file +$ git status +On branch new_branch +No commits yet +Untracked files: +  (use "git add <file>..." to include in what will be committed) +    test +nothing added to commit but untracked files present (use "git add" to track) +$ git add test +$ git commit -S -m "Adding a test file to new_branch" +[new_branch (root-commit) 4265ec8] Adding a test file to new_branch + 1 file changed, 1 insertion(+) + create mode 100644 test +$ git push -u origin new_branch +Enumerating objects: 3, done. +Counting objects: 100% (3/3), done. +Writing objects: 100% (3/3), 918 bytes | 918.00 KiB/s, done. +Total 3 (delta 0), reused 0 (delta 0) +Remote: Create a pull request for ‘new_branch’ on GitHub by visiting: +Remote:   +Remote: + * [new branch]         new_branch -> new_branch +``` + +Once you push the changes to your repo, the **Compare & pull request** button will appear in GitHub. + +![GitHub's Compare & Pull Request button][5] + +Click it and you'll be taken to this screen: + +![GitHub's Open pull request button][6] + +Open a pull request by clicking the **Create pull request** button. This allows the repo's maintainers to review your contribution. From here, they can merge it if it is good, or they may ask you to make some changes. + +### TLDR + +In summary, if you want to contribute to a project, the simplest way is to: + + 1. Find a project you want to contribute to + 2. Fork it + 3. Clone it to your local system + 4. Make a new branch + 5. Make your changes + 6. Push it back to your repo + 7. Click the **Compare & pull request** button + 8. Click **Create pull request** to open a new pull request + + + +If the reviewers ask for changes, repeat steps 5 and 6 to add more commits to your pull request. + +Happy coding! + +In a previous article , I discussed the complaints that have been leveled against GitHub during the... + +Arfon Smith works at GitHub and is involved in a number of activities at the intersection of open... + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/7/create-pull-request-github + +作者:[Kedar Vijay Kulkarni][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/kkulkarnhttps://opensource.com/users/fontanahttps://opensource.com/users/mhanwellhttps://opensource.com/users/mysentimentshttps://opensource.com/users/greg-p +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/checklist_hands_team_collaboration.png?itok=u82QepPk (a checklist for a team) +[2]: https://github.com/ +[3]: https://opensource.com/sites/default/files/uploads/forkrepo.png (Forking a GitHub repo) +[4]: https://github.com/kedark3/demo +[5]: https://opensource.com/sites/default/files/uploads/compare-and-pull-request-button.png (GitHub's Compare & Pull Request button) +[6]: https://opensource.com/sites/default/files/uploads/open-a-pull-request_crop.png (GitHub's Open pull request button)