Branch Usage

From GCD
Jump to: navigation, search

Branches at GitHub GrandComicsDatabase project

  • GrandComicsDatabase/master
    Always deployable to production, and always deployed to production. You can only fix something here if it's the most urgent of hot fixes.
  • GrandComicsDatabase/devel
    Always deployable to beta, and usually deployed to beta unless we're trying out some more experimental branch. Nearly every fix should pass through the devel branch on its way to master. Hotfixes to production must always get into beta.
  • GrandComicsDatabase/<group project>
    Only exists if we've collectively agreed that something needs its own branch separately from beta. The branch should come off of GrandComicsDatabase/devel.

Local git Branches

  • local/master
    You should almost never do anything here. You should rebase to avoid merge commits
  • local/devel
    You can do simple stuff here, although you should rebase or pull --rebase to avoid merge commits. However, it's better to use...
  • local/<personal project>
    Never pushed to the server, but you can post code reviews diffing from local/devel which should be sync'd to GrandComicsDatabase/beta
  • local/<group project>
    Can do work here, and diff directly to GrandComicsDatabase/<group project>. As always, should rebase to avoid merge commits where feasible.

GitHub User Branches

  • <github user>/master
    Should only ever be updated from GrandComicsDatabase/master, *NEVER* from a local clone of the user's repo, nor from a merge within the user's repo
  • <github user>/devel
    Same deal as master- only updated from GrandComicsDatabase/devel
  • <github user>/<group project>
    Again, same deal, only from GrandComicsDatabase/<group project>
  • <github user>/<user project>
    It's your project, in your repo, do what you want. Try not to tangle up merge commits too much. When you want to merge this back in, you should submit a pull request from it into one of GrandComicsDatabase/<group project> or GrandComicsDatabase/devel. Once it's pulled over there, you can then update your <github user>/whatever from the GrandComicsDatabase/whatever version. Never merge over within your own repo, unless it's from one user project to another. Again, you can do whatever with those.