GitBucket is a Git web platform powered by Scala offering:
- Easy installation
- Intuitive UI
- High extensibility by plugins
- API compatibility with GitHub
You can try an online demo (ID: root / Pass: root) of GitBucket, and also get the latest information at GitBucket News.
The current version of GitBucket provides many features such as:
- Public / Private Git repositories (with http/https and ssh access)
- GitLFS support
- Repository viewer including an online file editor
- Issues, Pull Requests and Wiki for repositories
- Activity timeline and email notifications
- Account and group management with LDAP integration
- a Plug-in system
If you want to try the development version of GitBucket, see the Developer's Guide.
GitBucket requires Java8. You have to install it, if it is not already installed.
- Download the latest gitbucket.war from the releases page and run it by
java -jar gitbucket.war
. - Go to
http://[hostname]:8080/
and log in with ID: root / Pass: root.
You can specify following options:
--port=[NUMBER]
--prefix=[CONTEXTPATH]
--host=[HOSTNAME]
--gitbucket.home=[DATA_DIR]
--temp_dir=[TEMP_DIR]
--max_file_size=[MAX_FILE_SIZE]
TEMP_DIR
is used as the temporary directory for the jetty application context. This is the directory into which the gitbucket.war
file is unpacked, the source files are compiled, etc. If given this parameter must match the path of an existing directory or the application will quit reporting an error; if not given the path used will be a tmp
directory inside the gitbucket home.
MAX_FILE_SIZE
is the max file size for upload files.
You can also deploy gitbucket.war
to a servlet container which supports Servlet 3.0 (like Jetty, Tomcat, JBoss, etc)
For more information about installation on Mac or Windows Server (with IIS), or configuration of Apache or Nginx and also integration with other tools or services such as Jenkins or Slack, see Wiki.
To upgrade GitBucket, replace gitbucket.war
with the new version, after stopping GitBucket. All GitBucket data is stored in HOME/.gitbucket
by default. So if you want to back up GitBucket's data, copy this directory to the backup location.
GitBucket has a plug-in system that allows extra functionality. Officially the following plug-ins are provided:
You can find more plugins made by the community at GitBucket community plugins.
- If you have any questions about GitBucket, see Wiki and check issues whether there is a same question or request in the past.
- If you can't find same question and report, send it to gitter room before raising an issue.
- We can also provide support in Japanese other than English at gitter room for Japanese.
- Write an issue in English. At least, write subject in English.
- The highest priority of GitBucket is the ease of installation and API compatibility with GitHub, so your feature request might be rejected if they go against those principles.
- Support priority in issues and pull requests
- Show icons when the sidebar is collapsed
- Support gollumn events in web hook
- Support account (user / group) level web hook
- Add
--max_file_size
option - Configuration by system property or environment variable
- Uploading files into the repository
- HTML is available in Markdown
- Added filter box to dropdown menus
- Gist plug-in provides JavaScript to embed snippet
- Dropdown menu filter in the branch comparing page
- Caution for the embedded H2 database
- Deploy keys support
- Auto generate avatar images
- Collaborators of the private forked repository are copied from the original repository
- Cache avatar images in the browser
- New extension point to receive events about repository
- Update to Scala 2.12, Scalatra 2.5 and Slick 3.2
- Display file size in the file viewer
- GitLFS support
- Template for issues and pull requests
- Manual label color editing
- Account description
--tmp-dir
option for standalone mode- More APIs for issues
- Search for repository names from the global header
- Filter repositories on the sidebar of the dashboard
- Search issues and wiki
- Keep pull request comments after new commits are pushed
- New web API to get a single issue
- Performance improvement for the repository viewer
- Bug fix: group repositories are not shown in the your repositories list on the sidebar
- Small performance improvement of the dashboard
- New permission system
- Dropdown filter for issue labels, milestones and assignees
- Keep sidebar folding status
- Link from milestone label to the issue list
- Add disable option for forking
- Add History button to wiki page
- Git repository URL redirection for GitHub compatibility
- Get-Content API improvement
- Indicate who is group master in Members tab in group view
- Attach files by dropping into textarea
- Issues / Pull requests switcher in dashboard
- HikariCP could be configured in
GITBUCKET_HOME/database.conf
- Improve Cookie security
- Display commit count on the history button
- Improve mobile view
- Import a SQL dump file to the database
go get
support in private repositories- Sort milestones by due date
- apache-sshd has been updated to 1.2.0
- Emoji support by gitbucket-emoji-plugin
- User name suggestion
- Add new web APIs and basic authentication support for API access
- Root Endpoint
- Add new extension points
assetsMapping
: Supplies resources in plugin classpath as web assetssuggestionProvider
: Provides suggestion in the Markdown editing textareatextDecorator
: Decorate text nodes in HTML which is converted from Markdown
- Fix migration bug
This is hotfix for a critical bug in migration. If you are new installation, use 4.2.0. But if you have an exisiting installation and it had been updated to 4.0 from 3.x, you must update to 4.2.1.
- New UI based on AdminLTE
- git gc
- Issues and Wiki have been possible to be disabled
- SMTP configuration test mail
- Generic ssh user
- Improve branch protection UI
- Default value of pull request title
- MySQL and PostgreSQL support
- Data export and import
- Migration system has been switched to solidbase
Note: You can upgrade to GitBucket 4.0 from 3.14. If your GitBucket is 3.13 or before, you have to upgrade 3.14 at first.
- File attachment and search for wiki pages
- New extension points to add menus
- Content-Type of webhooks has been choosable
- Refresh user interface for wide screen
- Add
pull_request
key in list issues API for pull requests - Add
X-Hub-Signature
security to webhooks - Provide SHA-256 checksum for
gitbucket.war
- New GitHub UI
- Improve mobile view
- Improve printing style
- Individual URL for pull request tabs
- SSH host configuration is separated from HTTP base URL
- Upgrade Scalatra to 2.4
- Sidebar and Footer for Wiki
- Branch protection and receive hook extension point for plug-in
- Limit recent updated repositories list
- Issue actions look-alike GitHub
- Web API for labels
- Requires Java 8
- Move to Bootstrap3
- New URL for raw contents (
raw/master/doc/activity.md
instead ofblob/master/doc/activity.md?raw=true
) - Update xsbt-web-plugin
- Update H2 database
- GFM inline breaks support in Markdown
- WebHook on create review comment is available
- WebHook event trigger is selectable
- Moved to GitHub organization
- Omit diff view for large differences
- Repository creation API
- Render url as link in repository description
- Expand attachable file types
- Markdown processor has been switched to markedj from pegdown
- Clone in desktop button
- Providing MD5 and SHA-1 checksum for
gitbucket.war
has started
- User interface Improvements: Especially, commit list, issues and pull request have been updated largely.
- Installed plugins list has been available at the system administration console.
- Pages and repository list in the sidebar have been limited and more pages and repositories link is available.
- More reference link notation in Markdown has been supported.
- Octicons has been applied
- Global header has been enhanced. Now it's further similar to GitHub.
- Default compare / pull request target has been changed to the parent repository
- A lot of updates for gitbucket-gist-plugin
- Declarative style plug-in definition
- New extension point to add markup render
- go-import support
- Rich graphical diff for images
- File finder is available in the repository viewer
- Blame is displayed at the source viewer
- Remain user data and repositories even if user is disabled
- Mobile view improvement
- Directory history button
- Compare / pull request button
- Limit of activity log
- Rolled back H2 version to avoid version compatibility issue
- Plug-ins became possible to access ServletContext
- Web APIs for Jenkins github pull-request builder
- Improved diff view
- Bump Scalatra to 2.3.1, sbt to 0.13.8
- New plug-in system is available
- Connection pooling by c3p0
- New branch UI
- Compare between specified commit ids
- New logo and icons
- New system setting options to control visibility
- Comment on side-by-side diff
- Information message on sign-in page
- Fork repository by group account
- Comment for commit and diff
- Fix security issue in markdown rendering
- Some bug fix and improvements
- Search box at issues and pull requests
- Information from administrator
- Pull request UI has been updated
- Move to TravisCI from Buildhive
- Some bug fix and improvements
- New Dashboard
- Change datetime format
- Create branch from Web UI
- Task list in Markdown
- Some bug fix and improvements
- Bug fix
- New UI is applied to Issues and Pull requests
- Side-by-side diff is available
- Fix relative path problem in Markdown links and images
- Plugin System is disabled in default
- Some bug fix and improvements
- Scala based plugin system
- Embedded Jetty war extraction directory moved to
GITBUCKET_HOME/tmp
- Some bug fix and improvements
- Bug fix
- Plug-in system is available
- Move to Scala 2.11, Scalatra 2.3 and Slick 2.1
- tar.gz export for repository contents
- LDAP authentication improvement (mail address became optional)
- Show news feed of a private repository to members
- Some bug fix and improvements
- Upgrade to Slick 2.0 from 1.9
- Base part of the plug-in system is merged
- Many bug fix and improvements
- Modern Github UI
- Preview in AceEditor
- Select lines by clicking line number in blob view
- Direct file editing in the repository viewer using AceEditor
- File attachment for issues
- Atom feed of user activity
- Fix some bugs
- SSH repository access is available
- Allow users can create and management their groups
- Git submodule support
- Close issues via commit messages
- Show repository description below the name on repository page
- Fix presentation of the source viewer
- Upgrade to sbt 0.13
- Fix some bugs
- Bug fix
- Base URL for redirection, notification and repository URL box is configurable
- Remove
--https
option because it's possible to substitute in the base url - Headline anchor is available for Markdown contents such as Wiki page
- Improve H2 connectivity
- Label is available for pull requests not only issues
- Delete branch button is added
- Repository icons are updated
- Select lines of source code by URL hash like
#L10
or#L10-L15
in repository viewer - Display reference to issue from others in comment list
- Fix some bugs
- Rename repository
- Transfer repository owner
- Change default data directory to
HOME/.gitbucket
fromHOME/gitbucket
to avoid problem like #243, but if data directory already exist at HOME/gitbucket, it continues being used. - Add LDAP display name attribute
- Response performance improvement
- Fix some bugs
- Display GITBUCKET_HOME on the system settings page
- Fix some bugs
- Add user and group deletion
- Improve pull request performance
- Pull request synchronization (when source repository is updated after pull request, it's applied to the pull request)
- LDAP StartTLS support
- Enable hard wrapping in Markdown
- Add new some options to specify the data directory. See details in Wiki.
- Fix some bugs
- Support working on Java6 in embedded Jetty mode
- Add
--host
option to bind specified host name in embedded Jetty mode - Add
--https=true
option to force https scheme when using embedded Jetty mode at the back of https proxy - Add full name as user property
- Change link color for absent Wiki pages
- Add ZIP download button to the repository viewer tab
- Improve ZIP exporting performance
- Expand issue and comment textarea for long text automatically
- Add conflict detection in Wiki
- Add reverting wiki page from history
- Match committer to user name by email address
- Mail notification sender is customizable
- Add link to changeset in refs comment for issues
- Fix some bugs
- Web hook
- Performance improvement for pull request
- Executable war file
- Specify suitable Content-Type for downloaded files in the repository viewer
- Fix some bugs
- Fork and pull request
- LDAP authentication
- Mail notification
- Add an option to turn off the gravatar support
- Add the branch tab in the repository viewer
- Encoding auto detection for the file content in the repository viewer
- Add favicon, header logo and icons for the timeline
- Specify data directory via environment variable GITBUCKET_HOME
- Fix some bugs
- Group management
- Repository search for code and issues
- Display user related issues on the dashboard
- Display participants avatar of issues on the issue page
- Performance improvement for repository viewer
- Alert by milestone due date
- H2 database administration console
- Fix some bugs
- Batch updating for issues
- Display assigned user on issue list
- User icon and Gravatar support
- Convert @xxxx to link to the account page
- Add copy to clipboard button for git clone URL
- Allow multi-byte characters as wiki page name
- Allow to create the empty repository
- Fix some bugs
- Add activity timeline
- Bugfix for Git 1.8.1.5 or later
- Allow multi-byte characters as label
- Fix some bugs
- Fix some bugs
- Upgrade to JGit 3.0
- This is a first public release