git-bug/doc/howto-github.md
sudoforge 2004fa79e6
feat: update references to the git-bug organization (#1249)
The repository was recently moved to the git-bug organization on github.
This change refactors references to the repository to ensure that they
use the updated owner URI.

Closes: #1243
Change-Id: I799712354c6ba25cdd8b06286275850c52efe6ff
2024-08-24 08:08:00 -07:00

3.9 KiB

How-to: Read and edit offline your Github/Gitlab/Jira issues with git-bug

git-bug is a standalone distributed bug-tracker that is embedded in git. In short, if you have a git repository you can use it to store bugs alongside your code (without mixing them though!), push and pull them to/from a normal git remote to collaborate.

Native workflow

Bridges with other bug-trackers are first-class citizen in git-bug. Notably, they are bidirectional, incremental and relatively fast. This means that a perfectly valid way to use git-bug is as a sort of remote for Github where you synchronize all the issues of a repository to later read and edit them and then propagate your changes back to Github.

Bridge workflow

This has several upsides:

  • works offline, including edition
  • browsing is pretty much instant
  • you get to choose the UI you prefer between CLI, interactive terminal UI or web UI
  • you get a near complete backup in case Github is down or no longer fit your needs

Note: at the moment, Gitlab and Jira are also fully supported.

Installation

Follow the installation instruction. The simplest way is to download a pre-compiled binary from the latest release and to put it anywhere in your $PATH.

Check that git-bug is properly installed by running git bug version. If everything is alright, the version of the binary will be displayed.

Configuration

  1. From within the git repository you care about, run git bug bridge configure and follow the wizard's steps:
    1. Choose github.
    2. Type a name for the bridge configuration. As you can configure multiple bridges, this name will allow you to choose when there is an ambiguity.
    3. Setup the remote Github project. The wizard is smart enough to inspect the git remote and detect the potential project. Otherwise, enter the project URL like this: https://github.com/git-bug/git-bug
    4. Enter your login on Github
    5. Setup an authentication token. You can either use the interactive token creation, enter your own token or select an existing token, if any.
  2. Run git bug bridge pull and let it run to import the issues and identities.

Basic usage

You can interact with git-bug through the command line (see the Readme for more details):

# Create a new bug
git bug add
# List existing bugs
git bug ls
# Display a bug's detail
git bug show <bugId>
# Add a new comment
git bug comment <bugId>
# Push everything to a normal git remote
git bug push [<remote>]
# Pull updates from a git remote
git bug pull [<remote>]

In particular, the key commands to interact with Github are:

# Replicate your changes to the remote bug-tracker
git bug bridge push [<bridge>]
# Retrieve updates from the remote bug-tracker
git bug bridge pull [<bridge>]

The command line tools are really meant for programmatic usage or to integrate git-bug into your editor of choice. For day to day usage, the recommended way is the interactive terminal UI. You can start it with git bug termui:

termui recording

For a richer and more user friendly UI, git-bug proposes a web UI (read-only at the moment). You can start it with git bug webui:

web UI screenshot

Want more?

If you interested to read more about git-bug, have a look at the following:

Of course, if you want to contribute the door is way open :-)