git-bug

  • volledig is geïntegreerd in git: je hebt alleen je git-repository nodig om een bugtracker te hebben;
  • gedistribueerd is: gebruik je normale git-remote om samen te werken en om je bugs te pushen en pullen;
  • offline werkt: of je nu in een vliegtuig zit of onder de zee, je kunt bugs blijven lezen en schrijven;
  • vendor lock-in voorkomt: is je gebruikelijke service offline of onbetrouwbaar geworden? Je hebt al een volledige back-up;
  • snel is: het listen of openen van bugs is een kwestie van milliseconden;
  • je project niet vervuilt: er worden geen bestanden aan je project toegevoegd;
  • integreert met je tooling: gebruik de UI van je voorkeur (CLI, terminal, web) of integreer met je bestaande tools via de CLI of de GraphQL API;
  • koppelt met andere bugtrackers: gebruik bridges om te importeren en exporteren naar andere trackers.

Installatie

Raadpleeg INSTALLATION.md voor de volledige gids, inclusief instructies over hoe je vanuit broncode bouwt en je installatie verifieert.

Workflows

Er zijn meerdere manieren om git-bug te gebruiken. Raadpleeg de documentatie over workflows voor meer details.

Native workflow

Dit is de pure git-bug ervaring. Vergelijkbaar met code gebruik je git bug push en git bug pull om je bugs tussen git-remotes te pushen en pullen en om samen te werken met teamgenoten.

Bridge workflow

Omdat git-bug bridges heeft met andere bugtrackers, kun je het gebruiken als je persoonlijke lokale remote-interface. Synchroniseer met git bug bridge pull and git bug bridge push, werk vanuit je terminal of integreer het in je editor; dat is aan jou. Bovendien werkt dit offline.

Web UI workflow (WIP)

Vaak moeten projecten hun bugtracker publiekelijk toegankelijk maken en bewerkingen van iedereen accepteren die een probleem tegenkomt. Om deze workflow te ondersteunen, streeft git-bug ernaar dat de web UI externe OAuth-authenticatie accepteert en fungeert als een publiek portaal. De web UI is hier echter nog niet klaar voor. Bijdragen zijn zeer welkom!

Gebruik van de CLI

Maak een nieuwe identiteit aan: git bug user create

Maak een nieuwe bug aan: git bug add Je favoriete editor wordt geopend om een titel en een bericht te schrijven.

Je kunt je nieuwe invoer naar een remote pushen: git bug push [<remote>]

En pullen voor updates: git bug pull [<remote>]

Bestaande bugs weergeven: git bug ls

Bugs filteren en sorteren met een query: git bug ls "status:open sort:edit"

Zoeken naar bugs op tekstinhoud: git bug ls "foo bar" baz

Je kunt nu commando's zoals show, comment, open of close gebruiken om bugs weer te geven en te wijzigen. Voor meer details over elk commando kun je git bug <command> --help uitvoeren of de documentatie van het commando lezen.

Interactieve Terminal UI

Een interactieve terminal UI is beschikbaar via het commando git bug termui om bugs te doorbladeren en te bewerken.

Web UI

Je kunt een uitgebreide Web UI starten met git bug webui. Blader, zoek en filter issues, open nieuwe issues, plaats reacties en bewerk titels, labels en status. Het dient daarnaast als een code-browser voor je repository, met een mappenstructuur, syntax-highlighting van bestanden, commit-historie en diffs.

De web UI is ingebakken in hetzelfde Go-binary en wordt geserveerd door een lokale HTTP-server. Het communiceert met de backend via een GraphQL API, waarvan het schema hier beschikbaar is.

Bridges

git-bug kan importeren vanuit en exporteren naar GitHub, GitLab, Jira en Launchpad. Raadpleeg de feature-matrix voor wat elke bridge ondersteunt, en de bridge-documentatie voor de volledige gids.

Configureer interactief een nieuwe bridge: git bug bridge new

Of handmatig: git bug bridge new \ --name=<bridge> \ --target=github \ --url=https://github.com/git-bug/git-bug \ --login=<login> \ --token=<token>

Bugs importeren: git bug bridge pull [<name>]

Wijzigingen exporteren: git bug bridge push [<name>]

Een bridge verwijderen: git bug bridge rm [<name>]

Internals

Interesseerd in hoe het werkt? Neem een kijkje naar het datamodel en het interne vogelperspectief.

Het on-disk formaat is formeel gespecificeerd in de git-bug spec, waarin het DAG-entityformaat, identiteiten en de bug-entity worden behandeld. Lees dit als je een andere implementatie wilt schrijven of een tool die git-bug-gegevens direct uitleest.

Of wil je misschien je eigen gedistribueerde datastructuur in git maken?

Zie ook alle documentatie.

Diversen

  • Bash, Zsh, fish, powershell completion
  • ManPages

Geplande functies

De feature-matrix geeft een goed overzicht van wat er gepland is, zonder uitputtend te zijn.

Aanvullende geplande functies:

  • WebUI die gebruikt kan worden als publiek portaal om input van gebruikers te accepteren
  • Opblaasbare raptor (inflatable raptor)

Bijdragen

PR's worden geaccepteerd. Kom langs in de Matrix-room voor een chat, bekijk de feature-matrix of doorzoek de issues en discussies om te zien waaraan wordt gewerkt of wat er besproken wordt.

Raadpleeg CONTRIBUTING.md om een ontwikkelomgeving op te zetten, het project te bouwen en de tests uit te voeren. Voor werk aan de web UI kun je kijken naar de specifieke README daarvan.

Bijdragers ❤️

Dit project bestaat dankzij alle mensen die bijdragen.

Backers & sponsors

Bedankt aan alle backers en sponsors! [Word een backer of sponsor]

Licentie

Tenzij anders vermeld, is dit project uitgebracht onder de GPLv3 of latere licentie © Michael Muré. Het git-bug logo door Viktor Teplov is uitgebracht onder de Creative Commons Attribution 4.0 International (CC BY 4.0) licentie © Viktor Teplov.