git-bug is a distributed bug tracker that is embedded in git. Using git’s internal storage ensures that no files are added in your project. You can push your bugs to the same git remote that you are already using to collaborate with other people.
The main idea behind implementing a distributed bug tracker in Git was to stop relying on a web service somewhere to deal with bugs. Browsing and editing bug reports offline wouldn’t be much of a pain, thanks to this implementation. While git-bug addresses a pressing need, note that the project is not yet available for full fledged use and is currently a proof of concept released just 3 days ago at version 0.2.0.
Reddit is abuzz with views on the release. A user quotes-
Certain users also had counter thoughts on the cons of the release –
Now that you want to get your hands on git-bug, let’s look at how to get started.
Installing git-bug, Linux packages needed and CLI usage for its implementation
To install the git-bug, all you need to do is execute the following command-
go get github.com/MichaelMure/git-bug
If it’s not done already, add golang binary directory in your PATH:
You can set pre-compiled binaries by following 3 simple steps:
- Head over to the release page and download the appropriate binary for your system.
- Copy the binary anywhere in your PATH
- Rename the binary to git-bug (or git-bug.exe on windows)
The only linux packge needed for this release is the Archlinux (AUR)
Further, you can use the CLI to implement the git-bug using the following commands-
- Create a new bug:
git bug new
Your favorite editor will open to write a title and a message.
- You can push your new entry to a remote:
git bug push [<remote>]
- And pull for updates:
git bug pull [<remote>]
- List existing bugs:
git bug ls
Use commands like show, comment, open or close to display and modify bugs. For more details about each command, you can run
git bug <command> --help
or scan the command’s documentation.
Features of the git-bug
#1 Interactive User Interface for the terminal
Use the git bug termui command to browse and edit bugs.
This short video will demonstrate how easy and interactive it is to browse and edit bugs
#2 Launch a rich Web UI
Take a look at the awesome web UI that is obtained with git bug webui.
This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
It connects to backend through a GraphQL API. Take a look at the schema for more clarity.
The additional features that are planned include
- media embedding
- import/export of github issue
- extendable data model to support arbitrary bug tracker
- inflatable raptor
Every new release is expected to come with exciting new features, it is also coupled with a few minor constraints. You can check out some of the minor inconveniences as listed out on the github page.
We can’t wait for the release to be in a fully working condition. But before that, if you need any additional information on how the git-bug works, head over to the github page.