Diese Seite beschäftigt sich mit einigen Aufgaben, die beim Beitragen zu erledigen sind. Die hier verfolgten Ansätze sind dazu gedacht, den Prozess einfacher zu machen und können auch auf andere Projekte angewandt werden, die auf GitHub oder einer ähnlichen Plattform untergebracht sind.
Für mehr Informationen über git und GitHub, siehe GitHub-Dokumentation (auf Englisch)
Git ist ein System zur Versionsverwaltung, das dabei hilft, Änderungen an Dateien zu verwalten. Die Daten und Änderungsgeschichte des osu!-Wikis werden in einem Git-Repository gespeichert. GitHub ist eine Entwicklungsplattform, die eine Webschnittstelle für Git-Repositorys bietet und eine Reihe von Projektmanagement-Tools bereitstellt.
Um Änderungen an einem Repository auf GitHub vorzunehmen, muss sich ein Mitwirkender eine isolierte Kopie des Repositorys beschaffen, welche Verzweigung (Fork) genannt wird. Wenn du deine Verzweigung des Repositorys osu-wiki
erstellst, fertigst du eine Momentaufnahme des Inhalts zu diesem Augenblick an. Um einen sinnhaften Beitrag zu erstellen, synchronisiere immer deine Verzweigung, bevor du Änderungen vornimmst — das kann direkt in GitHub gemacht werden:
Gehe zu deiner Verzweigung des Repositorys osu-wiki
.
Wähle den Branch master
aus dem Dropdown-Menü aus.
Klicke auf Fetch upstream
und wähle Fetch and merge
.
Den nicht mehr aktuellen Branch aktualisieren
Jetzt ist dein Branch auf demselben Stand wie das ursprüngliche Repository.
Obwohl diese Lösung in den meisten Fällen problemlos funktioniert, hat die Funktion selbst nur begrenzte Möglichkeiten. Zum Beispiel wird nicht erlaubt, nicht gewollte Änderungen auf dem Branch zu überschreiben, da es nur den vorangehenden Branch master
zusammenführt.
Wenn du während der Verwendung des GitHub-Tools auf irgendwelche Probleme stößt oder du den Inhalt eines Branches überschreiben möchtest, kannst du den Workflow benutzen, der von den Verantwortlichen des osu!-Wikis geschrieben wurde.
Öffne deine Verzweigung und gehe zum Tab Actions
.
Schaue auf der linken Seitenleiste nach Sync with ppy:master
.
Klicke auf Run workflow
und fülle die Optionen aus:
Workflowmenü der GitHub-Action
master
eingestellt.{Name des Branches}-backup
, bevor der ursprüngliche Branch verändert wird.ppy:master
, wodurch alle neuen Commits des ausgewählten Branches verworfen werden. Standardmäßig werden die Änderungen mit denen von ppy:master
zusammengeführt.Klicke auf den Button Run Workflow
und warte ab, bis der Workflow abgeschlossen ist. Wenn du wissen möchtest, wie das Tool funktioniert, klicke auf die Workflow-Aufgabe Sync with ppy:master
.
Siehe auch: Forking Workflow | Atlassian Git Tutorial
Innerhalb deiner Verzweigung des osu!-Wikis bist du frei, jegliche Änderungen zu machen und diese abzuspeichern. Commits sind individuelle "Sicherungspunkte" des Repositorys. Branches sind Arbeitsbereiche, die es ermöglichen, zwischen verschiedenen Versionen des Repositorys zu wechseln. Folge diesen Richtlinien, um die Arbeitsabläufe zu vereinfachen und die Versionshistorie sauber und frei von Schmutz zu halten:
master
hervorgeht, und mache nur dort Änderungen. Vergib einen sinnvollen Namen wie update-staff-log
.Rewrite the section about jump patterns
sagt viel mehr aus als Update en.md
.Eine Änderungsanfrage (Pull-Request) zeigt anderen Personen, wie deine Änderungen die Dateien beeinflussen. Füge ein paar Informationen zu deiner Anfrage hinzu, um deine Intention zu erklären:
Title
: Ein sehr kurzer, beschreibender Titel für deine Änderungen in Englisch, zusammen mit dem Artikelnamen. Starte für eine Übersetzung mit Klammern und der Sprachbezeichnung mit zwei Buchstaben deiner Übersetzung. Beispiele:
[DE] Add `BBCode`
Update `Beatmapping` and `Beatmap/Difficulty`
Description
: Alles, was du für die Betreuer und andere mögliche Gutachter hervorheben möchtest. Beispiele:
Allow edits from maintainers
markiert ist, damit die Wiki-Verantwortlichen dir helfen können, deine Änderungsanfrage zu verbessern, sofern notwendig.Bewertungen werden am besten direkt über die Webschnittstelle von GitHub verarbeitet. Benutze den Button Add suggestion to batch
im Tab Files changed
, um mehrere Vorschläge auf einmal anzuwenden.
Du darfst auch den Button Commit suggestion
verwenden, um Vorschläge individuell anzunehmen, vorausgesetzt, du erstellst Commits sparsam und mit informativen Nachrichten.
Mit diesem System lassen sich Bewertungen als automatisch gelöst kennzeichnen. Wenn du Vorschläge manuell anwendest (z. B. wenn der Gutachter keinen direkten Vorschlag hinzugefügt hat), dann markiere sie als gelöst, nachdem du die Änderungen eingebunden hast. Dadurch wird verhindert, dass irgendetwas vergessen wird. Das automatische Anwenden von Bewertungen über GitHub wird bevorzugt, da es sicherstellt, dass Vorschläge richtig angewandt und manuelle Kopierfehler verhindert werden.
Es gibt zwei Gründe, warum es zu einem Konflikt gekommen sein könnte:
Je nach Schweregrad der Konflikte hast du zwei Möglichkeiten, diese zu beheben:
Resolve conflicts
angezeigt wird, dann klicke diesen an. Dadurch wird eine leicht andere Version des Web-Editors angezeigt.
<<<<<<<
bis =======
sind deine Änderungen, wohingegen alles von =======
bis >>>>>>> master
ist, was der Branch ppy/master
enthält.<<<<<<<
, =======
und >>>>>>> master
löschen.Mark as resolved
(das ist nur verfügbar, wenn alle Konfliktbereiche der Datei beseitigt wurden).Resolve conflicts
gesperrt ist, weil die Konflikte für GitHub zu kompliziert sind, hast du Pech gehabt und musst deinen Branch aktualisieren und deine Änderungen nochmal machen.