OpenHatch git workflow
Some guidelines on how to use git when working on OpenHatch
Getting a new clone of OpenHatch
Only need to do this once. Or if you want to start form scratch.
It is also good (okay) to remove your oh-mainline
directory
and start over if you aren't sure the state of your OpenHatch repository.
$ git clone git://github.com/openhatch/oh-mainline.git
Committing a patch
- After you have already retreived your respository of code and made some changes, now you need to submit your changes for review to OpenHatch.
$ git status
(make sure the right files are listed here)$ git add <file(s)>
$ git commit -m "Short message explaining your fix"
- Note: If you want to submit everything listed in 'Unstaged changes' in
git status
, you can just do$ git commit -a -m "Short message explaining your fix"
, and skip the previous two steps.
- Note: If you want to submit everything listed in 'Unstaged changes' in
$ git log -p
(opens in less editor)- Note: This is just to help you verify that your commit took effect correctly. If it didn't, there were likely errors in one or more of the above steps.
$ git format-patch origin/master
- Now fetch any updates that may have occurred since you last did a
git clone
or agit fetch
$ git fetch
$ git rebase origin/master
$ git log
- Note: This is just to help you verify that your commit took effect correctly. If it didn't, there were likely errors in one or more of the above steps.
Submitting a patch
Find your patch file that has been generated from the git format-patch
command. In your current directory you can run
ls -lrt
which will list your files in time-sort order. Listing the
newest modified files at the bottom. Look for the file similar to
0002-Updated-the-default-case-for-people-search-AllTagsQu.patch
. This file
or these files will need to be added to the bug tracker... if we are still doing this.
The alternative is just using github, which some people are starting to look into.
Other useful commands
git rebase -i origin/master
-- to combine patches into one. after which re-run format-patch command. notice "-i"git diff -p
git rm
git -u