Wie verwalte ich Github-Probleme (Priorität usw.)? [geschlossen]


49

Ich bin neu in Github und suche nach Ratschlägen zum Umgang mit Problemen. Ich bin es gewohnt, Prioritäten und andere Bestelloptionen zu haben, sehe aber, dass keine existieren.

Wie verwalten andere Benutzer Probleme während des Lebenszyklus eines Fehlers / einer Funktion?

Danke im Voraus.


1
Nach den Antworten scheint es nicht übermäßig meinungsbasiert zu sein - die ersten beiden decken so ziemlich die gleichen Details ab (mit einem Drittel weniger Antworten, die auch die gleichen Details abdecken - ein paar Tipps und Tricks - und einen Beitrag für einen Drittanbieter, der möglicherweise weitere der fehlenden Funktionen hinzufügt). - Scheint, als würde es gut zum Q & A-Format von SO passen. Es ist überhaupt nicht meinungsbasiert, nur "Wo ist Feature X", und die Leute haben geantwortet. - Ich hoffe, diese Frage wird wieder geöffnet, damit jemand eine Antwort erhalten kann.
BrainSlugs83

Antworten:


52

Sie können verschiedene Gruppen von Bezeichnungen definieren, z. B. Problemtypen , Problemprioritäten , Problemstatus , Versions-Tags und vieles mehr. Um sofort zu sehen, zu welcher Gruppe ein Label gehört, können Sie eine Namenskonvention wie verwenden <label-group>:<label-name>.

Die Verwendung einer solchen Namenskonvention sollte die Verwaltung von Github-Problemen erheblich vereinfachen und anderen helfen, Probleme schneller zu "verstehen". Beachten Sie, dass Sie Beschriftungen auch Farben zuweisen können, um die Lesbarkeit zu verbessern (ich würde für jede Beschriftungsgruppe eine bestimmte Farbe verwenden). Da Sie diese Beschriftungen jedoch immer noch manuell zu Problemen zuordnen oder deren Zuordnung aufheben müssen, möchten Sie möglicherweise die Gesamtliste der Gruppen / Beschriftungen klein halten.

Entsprechend dem oben vorgeschlagenen Schema können Sie Gruppen und entsprechende Bezeichnungen wie folgt definieren.

Gruppe "Problemtyp"

  • Typ: Fehler
  • Typ: Feature
  • Typ: Idee
  • Typ: ungültig
  • Typ: Unterstützung
  • Typ: Aufgabe

Gruppe "Ausgabepriorität"

  • prio: niedrig
  • prio: normal
  • prio: hoch

Gruppe 'Problemstatus'

(Diese Bezeichnungen beschreiben den Status eines Problems in einem definierten Workflow.)

  • Status: Bestätigt
  • Status: aufgeschoben
  • Status: Fix-Commit
  • Status in Bearbeitung
  • Status: unvollständig
  • Status: abgelehnt
  • Status: gelöst

Gruppe 'Issue Information'

  • info: feedback-benötigt
  • info: hilfe benötigt
  • Info: Fortschritt-25
  • Info: Fortschritt-50
  • info: fortschritt-75

Gruppe 'Versions-Tag'

  • ver: 1.x
  • ver: 1.1

2
Aber das löst das Sortieren nicht, oder?
Pavel S.

4
Hallo, habe gerade deine MSO-Frage bemerkt. Die Frage wurde automatisch gelöscht, da es sich um eine abgelehnte Migration handelte. Die Originalkopie von Stack Overflow wurde jedoch ebenfalls gelöscht, sodass keine Kopie der Frage oder ihrer Antworten mehr vorhanden war. Ich sehe keinen Grund, nicht mindestens eine Kopie davon zu haben, selbst wenn sie geschlossen ist. Ich habe diese also wieder gelöscht. Wenn Sie das nächste Mal ein spezielles Problem mit Programmierern haben, das Sie diskutieren möchten, wenden Sie sich bitte an Meta-Programmierer . Ich habe Ihre MSO-Frage nur zufällig gesehen.
Yannis

@YannisRizos: Du bist absolut großartig (+1). Vielen Dank für Ihre schnelle Antwort, für das Wiederherstellen und auch für Ihre Klarstellungen :)
Jonny Dee

Ich möchte nur hinzufügen, dass ich Informationen habe: progress-X ist übertrieben. Ich würde einer Info zustimmen: in-progess, aber den Fortschritt zu quantifizieren, ist ein Stück weit. Ich hatte ein paar Probleme, bei denen ich dachte, ich wäre zu 90% erledigt, und dann sah ich etwas und wusste, dass ich nur zu 50% erledigt war. Jetzt dies auf Github zu haben, wäre meiner Meinung nach nur Zeitverschwendung.
AntonioCS

22

Der GitHub Issue Tracker ist sehr flexibel. Es gibt in der Tat keine Priorität oder Reihenfolge. Es dreht sich um drei wichtige Säulen: Aufgaben , Labels und Meilensteine .

  • Sie können Probleme mit von Ihnen erstellten Labels "markieren" (ähnlich wie bei Google Mail-Labels). Zum Beispiel: "Bug", "Feature-Request", "ToDo", "Frage", ... Ein Problem kann mit verschiedenen Bezeichnungen versehen werden.

  • Sie können mehrere Ausgaben zu einem Meilenstein "zusammenfassen" . Ein Meilenstein besteht aus einem Titel (z. B. einer Versionsnummer) und einem optionalen Liefertermin.

  • Jedes Problem kann einem Mitarbeiter (Mitwirkenden oder Organisationsmitglied) des Repositorys zugewiesen werden . Sie können einen Mitbearbeiter sogar mit einem @gefolgt von seinem GitHub-Login in einen Kommentar einladen.

Dank der Seitenleiste können Sie die Liste der Probleme schließlich "filtern", um sie leichter verwalten zu können.

Ein vollständiger Blogeintrag "Issues 2.0" zu diesem Thema gibt Ihnen einen detaillierten Überblick über die Funktionen.


1
Sehr hilfreich, danke. Es sieht so aus, als müsste ich meine "alte" Art der Problembehandlung verlernen. Geben Sie den Begriff der Priorisierung einfach auf? Normalerweise würde ich eine Fehlerliste überprüfen und Prioritäten zuweisen, die dann den Entwicklern zugewiesen würden. Wie ändere ich mein Denken als Manager? Es fühlt sich so an, als müsste ich mehr Zeit damit verbringen, Probleme zu überprüfen, die ich bereits überprüft und in prio gestoßen habe. Vorschläge oder vielleicht ein Hinweis auf Beispiele werden geschätzt.
DJF

1
@djf Wie in der Antwort von Johnny Dee können Sie Labels verwenden, um die Priorität zuzuweisen.
David Brown

8

Ich verwende huboard.com , um Github-Probleme auf Kanban-Board-Weise darzustellen und sie dann durch Ziehen und Ablegen in huboard zu sortieren. Es funktioniert ziemlich gut, wenn Sie nur die Priorität visualisieren und wissen möchten, was als nächstes zu tun ist.

Tatsächlich speichert es die Priorität innerhalb des Problems selbst als HTML-Kommentar:

Your normal issue text here...
<!---
@huboard:{"order":465.0}
-->

Ich benutze jetzt waffle.io für diesen Zweck. Es ist ein bisschen schöner.
Joseph.Hainline

5

Beispiel, wie wir Labels auf Github verwenden, um unsere Projekte zu verwalten

Kategorielabels (können auch alle Kappen verwenden, um visuell zu trennen)

  • Aufgabe
  • Fehler
  • Feature
  • Diskussion

Prioritätskennzeichnung

  • DRINGEND

Wir betrachten alles als normal priorisiert und sehen keinen Bedarf für "niedrig". So bleibt nur ein Etikett, um Dinge zu kennzeichnen, die sofort beachtet werden müssen.

Status-Labels

  • überprüft (der Bevollmächtigte hat es gelesen)
  • in der Warteschlange (Beauftragter wird bald daran arbeiten)
  • In Bearbeitung (der Bevollmächtigte arbeitet gerade daran)
  • ungültig (wenn der Fehler nicht reproduzierbar ist)
  • brauche Feedback (Fledermaussignal, um Leute zum Lesen und Kommentieren zu bringen oder Hilfe zu leisten)

Wir speichern die gesamte Dokumentation in einem Wiki, das Anleitungen, Architektur, Infrastruktur, Fallstudien, Planung und Anforderungen enthält.

Pull-Requests sind für Codeüberprüfungen und Funktionsdiskussionen vorgesehen, wenn sie Teil einer Zweigstelle sind

Mit etwas kreativem Einsatz der Filterung können wir die Arbeit finden, die wir für den Tag erledigen müssen. "Task + URGENT" oder "Bug + URGENT" überprüfen Probleme, die als "Feedback erforderlich" gekennzeichnet sind, immer und hinterlassen auch dann einen Kommentar, wenn Sie nichts hinzuzufügen haben. Natürlich funktioniert das mit unserem 5-köpfigen Team, aber wahrscheinlich nicht viel mehr.


1

Ich strebe zwei Arten von Etiketten in GH-Ausgaben an - die erste in Bezug auf die Art der Ausgabe und die zweite in Bezug auf die Priorität:

  • Fehler
  • feature - (neue sachen)
  • Verbesserung - (bestehende Sachen verbessern)
  • frage / diskussion - (zeug diskutieren)

Eine Frage / Diskussion ist möglicherweise nicht erforderlich, wenn Sie das Wiki gut nutzen. Aber ich mag es, weil es mir erlaubt, eine Frage oder Idee an eine bestimmte Person zu richten.

Dann gibt es drei wirklich einfache Prioritätsetiketten:

  • jetzt
  • bald
  • später

Einfach richtig?


1

Zusätzlich zu den oben vorgeschlagenen Markierungslösungen haben wir blockingund blockedals Etiketten.

Ein Problem muss zuerst der richtigen Person zugewiesen werden. Wenn diese Person jedoch nicht in der Lage ist, das Problem zu bearbeiten, bis ein anderes Problem abgeschlossen ist, wird das Problem als markiert blocked. Auf das andere Problem wird mit einem Hashtag verwiesen.

In ähnlicher Weise sollte eine Aufgabe, die eine andere Person daran hindert, an etwas zu arbeiten, blockingmit einem Verweis auf das andere Problem gekennzeichnet werden.

Ich fand es ein wenig schwierig, herauszufinden, wie man einer bestimmten Person zugewiesene Elemente auflistet.

Die Lösung besteht darin, auf das Suchsymbol (ohne eingegebene Suchkriterien) zu klicken. Auf der Ergebnisseite befindet sich links ein Dropdown-Menü.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.