![]() (cherry picked from commit 6d910daafb28b79402b8190fa749f4ff18991505) (cherry picked from commit d447861cc911aa89539cbbcdbbf0e68d0bc23e53) (cherry picked from commit dc6e9d87990f72d870100934be32a5fc1dc119ad) (cherry picked from commit ef232fa20c99c6c52599025967a5af2f5839bdce) (cherry picked from commit 290c55517a84f6e8b80459372b9b63ec19cadcb4) (cherry picked from commit db48af1784e94851c066845324c3e680e79ab7c3) (cherry picked from commit 85f33237a2f5da88ec2fcab76ea91ee3cec56065) (cherry picked from commit 76899ee33e8196c66f882fca5facf5268c8fabf8) (cherry picked from commit 148b3ee9cb03aa614b59ab98d2d8c11f343d38d1) (cherry picked from commit 1f6ad8f465819cc6adb8061845822398a33e14e1) (cherry picked from commit c330afdba3354ff59591bd07046b6993bfeea777) (cherry picked from commit b1f87075a79c8e0d1a8626958f90bfee4d003de1) (cherry picked from commit 7da40992cc82d719094a748339c385fbc1251afe) (cherry picked from commit 7ab19ff5e528b9e1ef53e95639022facca70466e) (cherry picked from commit e61e44921bbabc7ba12da51afde1c6fe8203679b) (cherry picked from commit 83646119fb8af975a114601ee7bbaf7c5d25f93f) (cherry picked from commit 20cf748e61f35378745629dcb38b459818c8ad52) (cherry picked from commit 0a99919cec90dc1374c67199a0bbb90e7f8c7525) (cherry picked from commit 21215222a6d036551dca0b54a09c388845c3565f) (cherry picked from commit 0f6c5658d77fe47d4c67b327190f88af829905da) (cherry picked from commit 1752e43d3c0d71533680d2dcbcbb056d0c91371e) (cherry picked from commit 2332080929c9eb65d512956773bf7ac821fa6736) (cherry picked from commit 590aabf2a2a47f4a5a53a9d0b8b12486f5998400) (cherry picked from commit 87d8b7b315c3e25bd3fcf9dc9c1d359bcd107281) (cherry picked from commit ff37de38be04b8c1ca6f04b4ef5566c9f9a125ad) (cherry picked from commit cee32c9e7ab58af6cb07109df4b88420c30c6156) (cherry picked from commit 39faade524215d5527c5d24e90a9be62aa40f422) (cherry picked from commit 0e5ca477b6e7ae926cd32454a6ed372b83626b34) (cherry picked from commit 70e2730f7b2efe4c2ee9ef047583bf9ee5eed409) (cherry picked from commit 2ad4003944e0d32d1e45b9276316e189f9b5b176) (cherry picked from commit 2429de9e87e3fdbfa2df8741c9400e9f056ef124) (cherry picked from commit c133915fc1a4eb8aa1e4766e720e47de14db0d61) (cherry picked from commit c607dcaf9f01e454921e07b758bdde1c4dba5504) (cherry picked from commit 86cb6347111ee3a4eef4a3dd87034765565563e2) (cherry picked from commit ab96f8765e5704104cd38a452148aa22df89972e) (cherry picked from commit cbf70f71d06ce98c2988f8d3e884760970bc8f20) (cherry picked from commit 0e61fc89aa386c099fac2906442d7d9c9702d7bc) (cherry picked from commit 781ae4384efc165d43f916449f569054ef193286) (cherry picked from commit 271410a9da096ae96dd9a4b3fbb4a654aba004dc) |
||
---|---|---|
.devcontainer | ||
.gitea | ||
.github | ||
assets | ||
build | ||
cmd | ||
contrib | ||
custom/conf | ||
docker | ||
docs | ||
models | ||
modules | ||
options | ||
public | ||
routers | ||
services | ||
snap | ||
templates | ||
tests | ||
web_src | ||
.air.toml | ||
.changelog.yml | ||
.dockerignore | ||
.editorconfig | ||
.eslintrc.yaml | ||
.gitattributes | ||
.gitignore | ||
.gitpod.yml | ||
.golangci.yml | ||
.ignore | ||
.markdownlint.yaml | ||
.npmrc | ||
.spectral.yaml | ||
.stylelintrc.yaml | ||
.yamllint.yaml | ||
BSDmakefile | ||
build.go | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
DCO | ||
Dockerfile | ||
Dockerfile.rootless | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
MAINTAINERS | ||
Makefile | ||
package-lock.json | ||
package.json | ||
playwright.config.js | ||
poetry.lock | ||
poetry.toml | ||
pyproject.toml | ||
README.md | ||
README_ZH.md | ||
SECURITY.md | ||
vitest.config.js | ||
webpack.config.js |
Gitea - Git with a cup of tea
Purpose
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service.
As Gitea is written in Go, it works across all the platforms and architectures that are supported by Go, including Linux, macOS, and Windows on x86, amd64, ARM and PowerPC architectures. You can try it out using the online demo. This project has been forked from Gogs since November of 2016, but a lot has changed.
Building
From the root of the source tree, run:
TAGS="bindata" make build
or if SQLite support is required:
TAGS="bindata sqlite sqlite_unlock_notify" make build
The build
target is split into two sub-targets:
make backend
which requires Go Stable, the required version is defined in go.mod.make frontend
which requires Node.js LTS or greater.
Internet connectivity is required to download the go and npm modules. When building from the official source tarballs which include pre-built frontend files, the frontend
target will not be triggered, making it possible to build without Node.js.
Parallelism (make -j <num>
) is not supported.
More info: https://docs.gitea.com/installation/install-from-source
Using
./gitea web
NOTE: If you're interested in using our APIs, we have experimental support with documentation.
Contributing
Expected workflow is: Fork -> Patch -> Push -> Pull Request
NOTES:
- YOU MUST READ THE CONTRIBUTORS GUIDE BEFORE STARTING TO WORK ON A PULL REQUEST.
- If you have found a vulnerability in the project, please write privately to security@gitea.io. Thanks!
Translating
Translations are done through Crowdin. If you want to translate to a new language ask one of the managers in the Crowdin project to add a new language there.
You can also just create an issue for adding a language or ask on discord on the #translation channel. If you need context or find some translation issues, you can leave a comment on the string or ask on Discord. For general translation questions there is a section in the docs. Currently a bit empty but we hope to fill it as questions pop up.
https://docs.gitea.com/contributing/localization
Further information
For more information and instructions about how to install Gitea, please look at our documentation. If you have questions that are not covered by the documentation, you can get in contact with us on our Discord server or create a post in the discourse forum.
We maintain a list of Gitea-related projects at gitea/awesome-gitea.
The official Gitea CLI is developed at gitea/tea.
Authors
Backers
Thank you to all our backers! 🙏 [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
FAQ
How do you pronounce Gitea?
Gitea is pronounced /ɡɪ’ti:/ as in "gi-tea" with a hard g.
Why is this not hosted on a Gitea instance?
We're working on it.
License
This project is licensed under the MIT License. See the LICENSE file for the full license text.
Screenshots
Looking for an overview of the interface? Check it out!
![]() |
![]() |
![]() |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |