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 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 Silex microframework and powered by the Twig template engine. This means that GitList is easy to install and easy to customize. Also, the GitList gorgeous interface was made possible due to Bootstrap.
- Multiple repository support
- Multiple branch support
- Multiple tag support
- Commit history, blame, diff
- RSS feeds
- Syntax highlighting
- Repository statistics
You can also see a live demo here.
- Klaus Silveira (Creator, developer)
- improve the current test code coverage
- test the interface
- error handling can be greatly improved during parsing
- submodule support
- multilanguage support
In order to run GitList on your server, you'll need:
- git
- Apache with mod_rewrite enabled or nginx
- PHP 5.3.3
- Download GitList from gitlist.org and decompress to your
/var/www/gitlist
folder, or anywhere else you want to place GitList. - Rename the
config.ini-example
file toconfig.ini
. - Open up the
config.ini
and configure your installation. You'll have to provide where your repositories are located and the base GitList URL (in our case, http://localhost/gitlist). - Create the cache folder and give read/write permissions to your web server user:
cd /var/www/gitlist
mkdir cache
chmod 777 cache
That's it, installation complete! If you're having problems, check this tutorial by Kulbir Saini or the Troubleshooting page.
GitList uses Composer to manage dependencies and Ant to build the project. In order to run all the targets in the build script, you will need PHPUnit, phpcpd, phploc, PHPMD and PHP_Depend.
Once you have all the dependencies set, you can clone the repository and run Ant:
git clone https://github.com/klaussilveira/gitlist.git
ant
If you just want to get the project dependencies, instead of building everything:
git clone https://github.com/klaussilveira/gitlist.git
curl -s http://getcomposer.org/installer | php
php composer.phar install
If you have Composer in your path, things get easier. But you know the drill.
If you are a developer, we need your help. GitList is a young project and we have lot's 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.
- Stay tuned to possible bugs, suboptimal code, duplicated code, overcomplicated expressions and unused code with PHPMD in our CI server
- Try to fix any violations reported
- Improve the test coverage by creating unit and functional tests
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! :)