John's GitHub page
From ProgClub
Revision as of 07:41, 27 February 2017 by John (talk | contribs) (→Create a pull request: removing spurious word...)
OK. Hi there. I'm John. So recently I've made some modifications to code that is hosted on GitHub, as you can see in my account. I'm new and still learning the process, so here's what I've figured out:
Submitting a patch via GitHub
Fork the upstream repository into a project in your account
- go to GitHub
- login
- navigate to the project repository you want to fork
- click 'Fork' on the top right
Clone your fork
- open a terminal on your workstation
- change dir to your github directory (I use /home/jj5/repo/git/github/jj5)
- clone your fork (using SSH) with: git clone git@github.com/jj5/MyProject.git
Make a topic branch in your fork
You can read about what a topic branch is.
- open a terminal on your workstation
- change dir to your github fork (e.g. /home/jj5/repo/git/github/jj5/MyProject)
- create a branch with: git branch branch-name
- switch to your new branch: git checkout branch-name
Note: you can create a branch and check it out with one command: git checkout -b branch-name
Question: is 'switch' the correct verb for changing between branches?
Make your changes
So edit files, add files, etc.
Tell git about new files
If you've added files include them in git with: git add file.name
Commit your changes on the topic branch
To commit your changes: git commit -a -m 'What you did...'
Push your changes into your fork at GitHub
To push your topic branch upstream: git push --set-upstream origin branch-name
Create a pull request
- go to GitHub
- login
- navigate to your fork in your account
- in the top left select your topic branch for the Branch drop down
- click 'New pull request'
- the 'base fork' should be the project you forked from that you wish to contribute to
- the 'base' branch is the branch you want to merge with (probably 'master'?)
- the 'head fork' is where your proposed changes are (i.e. in your fork)
- the 'compare' branch is the branch that has your changes (i.e. your topic branch)
- add a message, check your changes, and submit your way to victory!