CONTRIBUTING.md 2.49 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
# On Contributing

## 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.

**Note:**

You will need to be a member before making any contributions. Join the slack #srctweb channel and ask nicely.

### Branches

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.

If you decide to take on an issue for SRCTWeb you will need to work in a branch off
of the current development branch.

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.

This can be done with the following chain of `git` commands within `srctweb/`:

    git pull
    git checkout current_development_branch
    git checkout -B ##-shortdescription

**Example:**

    git pull
    git checkout 2.2-dev
    git checkout -B 102-readme-updates

If you are working on something that does not have an issue please open a new
issue before creating your branch.

### Commits & Their Messages

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.

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)

Example commit title:

    Complete the about page + TOS (Closes #36)

#### Description -

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.

Example commit description:

    - mostly talk about how great SRCT is
    - plus a short blurb on how we can ban you

[Example full commit](https://git.gmu.edu/srct/go/commit/db89af2e4ffd06a6044d3301a3f7a45ced74799a)

### Merging to the current development branch

Once you've finished work in a branch you will need to push your commits to gitlab.

    git push origin ##-branchname

`origin` is gitlab.

Open a [merge request](https://git.gmu.edu/srct/go/merge_requests/new)
to start the process of getting your code into the repo. Your code wil be reviewed
by another member before being merged. Your code must pass our tests and include
in the description:

    Closes #issue_number_here

[Example pull request](https://git.gmu.edu/srct/go/merge_requests/25)