summaryrefslogtreecommitdiffstats
path: root/docs/installation.md
blob: edfba536b0ec92d1d18dfaed84012ecf1c5458b5 (plain)
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
## Fully supported

### Pip (recommended)
```{.sh .copy}
pip install gitlint
```

By default, gitlint is installed with pinned dependencies.
To install gitlint with looser dependency requirements, only install gitlint-core:
```{.sh .copy}
pip install gitlint-core
```
??? "Uninstalling gitlint"
    To fully uninstall gitlint, you need to remove both `gitlint` and `gitlint-core`:
    ```{.sh .copy}
    pip uninstall gitlint gitlint-core 
    ```

### Docker
There is a fully maintained and supported [docker image for gitlint](https://hub.docker.com/r/jorisroovers/gitlint).
```{.sh .copy}
docker run --ulimit nofile=1024 -v $(pwd):/repo jorisroovers/gitlint # (1)
```

1. `--ulimit` is required to work around a limitation in Docker.
   Details: see issue [#129](https://github.com/jorisroovers/gitlint/issues/129)

## Community Maintained Packages
These packages are not officially maintained by gitlint. For the latest and fully supported version, always use `pip`.

#### Brew
```{.sh .copy}
brew install gitlint
```
#### MacPorts

```{.sh .copy}
port install gitlint
```

#### Ubuntu
```{.sh .copy}
apt-get install gitlint
```

#### All available packages 
[![Packaging status](https://repology.org/badge/vertical-allrepos/gitlint.svg)](https://repology.org/project/gitlint/versions)

## Shell completion

```sh
# Bash: add to ~/.bashrc
eval "$(_GITLINT_COMPLETE=bash_source gitlint)"

# Zsh: add to ~/.zshrc
eval "$(_GITLINT_COMPLETE=zsh_source gitlint)"

# Fish: add to ~/.config/fish/completions/foo-bar.fish
eval (env _GITLINT_COMPLETE=fish_source gitlint)
```