CONTRIBUTING.md 2.08 KB
Newer Older
1
# On Contributing
David Haynes's avatar
David Haynes committed
2

3 4 5 6
## git
First take a look at [github flow](https://guides.github.com/introduction/flow/)
as this page gives a good starting point on understanding how to work with `git`
in an open source repo.
David Haynes's avatar
David Haynes committed
7

8
### Branches
David Haynes's avatar
David Haynes committed
9

10 11 12
Each branch off of the development branch serves one and only one purpose: to
add, modify, or remove features/bugs from Go. Our list of tasks can be found on
the issues page.
David Haynes's avatar
David Haynes committed
13

14 15 16
If you decide to take on an issue for Go you will need to work in a branch off
of the current development branch (ie. `2.2-dev` with 2.2 being the version in
    development).
David Haynes's avatar
David Haynes committed
17

18
This can be done with the following chain of `git` commands within `go/`:
David Haynes's avatar
David Haynes committed
19

20 21 22
    git pull
    git checkout 2.2-dev
    git checkout -B ##-shortdescription
David Haynes's avatar
David Haynes committed
23 24


25 26 27 28 29 30 31 32 33 34 35 36 37 38
**Note:**

Replace `##` with the issue number that you are working on, and replace
`shortdescription` with a few words (<=4) that in brief describe what the branch
does.

**Example:**

    git pull
    git checkout 2.2-dev
    git checkout -B 102-readmeUpdates

If you are working on something that does not have an issue please open a new
issue before creating your branch.
David Haynes's avatar
David Haynes committed
39 40 41

### Commits & Their Messages

42 43
It is important to commit more often than not such that if we run
into issues we can narrow down which commit started to cause issues.
David Haynes's avatar
David Haynes committed
44 45 46 47 48 49 50 51 52 53 54

Commit messages should follow the format:

#### Title -
Should fill in the blank: "This commit ______"

Additionally if you are closing an issue include:

(Closes #issue_number_here)

ex.  "Complete the about page + TOS (Closes #36)"
55

David Haynes's avatar
David Haynes committed
56
#### Description -
57

David Haynes's avatar
David Haynes committed
58 59 60 61 62 63 64 65 66
Bullet points of some highlights from the commit.

They don't have to be super serious (see any of my commits) though just a tad bit of info is nice.

ex.
- mostly talk about how great SRCT (and :dhaynes:) is
- plus a short blurb on how we can ban you

[Reference](https://git.gmu.edu/srct/go/commit/db89af2e4ffd06a6044d3301a3f7a45ced74799a)
67

David Haynes's avatar
David Haynes committed
68
### Merging to Master
69

David Haynes's avatar
David Haynes committed
70 71 72
Open a [pull request](https://git.gmu.edu/srct/go/merge_requests/new) with a descriptive enough title and description and we'll take one last look at your code before merging.

[Reference](https://git.gmu.edu/srct/go/merge_requests/25)