|
|
# Working with Gitlab
|
|
|
# Working with GitLab
|
|
|
|
|
|
We develop with [Git](https://git-scm.com/). GitLab is a piece of software that builds on top of Git and has a bunch of neat features.
|
|
|
|
|
|
> While GitLab is similar to GitHub, Git, GitHub and GitLab are three different things!
|
|
|
|
|
|
## Issues
|
|
|
Issues represent specific tasks. All our issues are [listed here](https://gitlab.linguala.com/groups/linguala/-/issues) and on a [Kanban](https://de.wikipedia.org/wiki/Kanban) board [here](https://gitlab.linguala.com/groups/linguala/-/boards).
|
|
|
|
|
|
Issues work on a per-project basis. An issue belongs to a project and should be done in that project. Issues can also be assigned to someone if it should be done by someone specific. You can find all issue attributes in the right-hand sidebar when looking at an issue.
|
|
|
|
|
|
### Open & Close
|
|
|
Issues have two states: *Open* and *closed*. [Open issues](https://gitlab.linguala.com/groups/linguala/-/issues?scope=all&utf8=%E2%9C%93&state=opened) are tasks that should be done at some point. [Closed issues](https://gitlab.linguala.com/groups/linguala/-/issues?scope=all&utf8=%E2%9C%93&state=closed) are tasks that have been done and accepted.
|
|
|
|
|
|
### Labels
|
|
|
Issues can have multiple labels. We use those labels together with the issue board to structure our workflow. Important labels are:
|
|
|
|
|
|
| Label |Purpose |
|
|
|
| --- | --- |
|
|
|
| ![image](uploads/d64ebf301b436ca0b2ab5e13e8a02970/image.png) | These Issues have priority and should be worked on next. Take from these issues when you're looking for something to do. |
|
|
|
| ![image](uploads/5e5a76750a1b80c10053ecf2946f6cef/image.png) | Someone is working on these issues right now. |
|
|
|
| ![image](uploads/ee6ddea2267032bd5aabf38c6f2979ca/image.png) | These tasks have been completed but not yet accepted. |
|
|
|
| ![image](uploads/fffce66da21ae99393b91b76fbd0c3e2/image.png) | These issues are good tasks for newcomers and usually easy to do. |
|
|
|
|
|
|
>Check out [all our labels](https://gitlab.linguala.com/groups/linguala/-/labels).
|
|
|
|
|
|
## Branches
|
|
|
Git provides a default branch, in most cases this branch is called `master`. This is where the current (and working) version of your software resides. New features are added on different branches (usually with a name that roughly describes what the branch is for). This could look something like this:
|
|
|
|
|
|
```
|
|
|
c5 < feature/my-new-feature
|
|
|
|
|
|
|
master > c3 c4
|
|
|
| |
|
|
|
c2 /
|
|
|
| /
|
|
|
c1
|
|
|
|
|
|
|
...
|
|
|
```
|
|
|
|
|
|
> Read the [official docs](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging).
|
|
|
|
|
|
## Merge Requests
|
|
|
Branches can be merged into the default (master) branch. This is what merge requests are: a request to merge a branch into `master`. Merge requests are very similar to issues, the can also be labeled and assigned.
|
|
|
|
|
|
>Merge requests will show the changes that have been committed to the branch it is associated with.
|
|
|
|
|
|
### Is it done yet?
|
|
|
You can mark a merge request as a *Work in Progress* to indicate that you're not done yet by putting `WIP:` in front of the title. Once you're done you can remove the WIP status.
|
|
|
|
|
|
There are help pages for every interaction with Gitlab [here](https://gitlab.linguala.com/help) or on the top right where the question mark is.
|
|
|
|
... | ... | |