Stars: 2911
Forks: 533
Pull Requests: 281
Issues: 646
Watchers: 156
Last Updated: 2023-05-27 09:44:02
An elegant and modern git repository viewer
License: BSD 3-Clause "New" or "Revised" License
Languages: PHP, Makefile, JavaScript, Twig, SCSS, Dockerfile
GitList is an elegant and modern web interface for interacting with multiple git repositories. It allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history, diffs. It also generates RSS/Atom feeds for each repository, allowing you to stay up-to-date with the latest changes anytime, anywhere. GitList was written in PHP, on top of the Symfony framework and powered by the Twig template engine. This means that GitList is easy to install and easy to customize. Also, the GitList interface was made possible due to Bootstrap.
In order to run GitList on your server, you'll need:
/var/www/gitlist
folder, or anywhere else you want to place GitList.
config/config.yml
and configure your installation. You'll have to provide where your repositories are located.
DEFAULT_REPOSITORY_DIR
with the directory containing your repositoriescd /var/www/gitlist
mkdir -p var/cache
chmod 777 var/cache
mkdir -p var/log
chmod 777 var/log
/var/www/gitlist/public
folder, where index.php
is.That's it, installation complete! If you're having problems, check the Troubleshooting page.
GitList comes with a Docker Compose configuration intended for development purposes. It contains a PHP image with all necessary extensions, as well as a Node image for frontend assets.
To get started, just clone the repo and run the setup script:
git clone https://github.com/klaussilveira/gitlist.git
make setup
It should take care of letting you know what is missing, if anything. Once finished, run the test suite to make sure everything is in order:
make test
make acceptance
There are other commands available. To learn more:
make help
If you are a developer, we need your help. GitList is small, but we have lots of stuff to do. Some developers are contributing with new features, others with bug fixes. But you can also dedicate yourself to refactoring the current codebase and improving what we already have. This is very important, we want GitList to be a state-of-the-art application, and we need your help for that.
If you are not a developer, you can also contribute by helping translate GitList.
If you want to know more about customizing GitList, check the Customization page on the wiki. Also, if you're having problems with GitList, check the Troubleshooting page. Don't forget to report issues and suggest new features! :)
GitList was born in May 2012, a time were Composer was still a novelty and Silex was all the rage. We have tried to maintain GitList as-is for as long as possible, but the PHP ecosystem changed so much in all those years that it became too time consuming to maintain it. Thus, 2.0
was born on top of Symfony 6 and we'll keep moving with the times.
Legacy, however, is still available here and we will try to keep it secure and working on newer PHP versions.