OpenHatch git workflow

From OpenHatch wiki
(Redirected from 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.

  1. $ git clone git://github.com/openhatch/oh-mainline.git

Committing a patch

  1. After you have already retreived your respository of code and made some changes, now you need to submit your changes for review to OpenHatch.
    1. $ git status (make sure the right files are listed here)
    2. $ git add <file(s)>
    3. $ git commit -m "Short message explaining your fix"
      1. 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.
    4. $ git log -p (opens in less editor)
      1. 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.
    5. $ git format-patch origin/master
  2. Now fetch any updates that may have occurred since you last did a git clone or a git fetch
    1. $ git fetch
    2. $ git rebase origin/master
    3. $ git log
      1. 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

Resources

See also