Projekt

Allgemein

Profil

Aktionen

GX-Feature #69191

offen

Kommandozeilen-Tool für einfacheren Git Workflow / Command line tool for easier handling of our git workflow

Von Daniel Wu vor etwa 3 Jahren hinzugefügt. Vor etwa 2 Jahren aktualisiert.

Status:
Gemeldet
Priorität:
Dringend
Zugewiesen an:
Release-Manager
Kategorie:
DevOps
Zielversion:
-
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
Unbestimmt
Release Notes Langtext:

Beschreibung

Since we transformed our git workflow (end of July 2021) towards and very close to the widely used gitflow, the developers should have the possibility to use the gitflow command line tool that this workflow incorporates. It can't be used as it is, because we still have some minor differences in the workflow and also some additional requirements. Therefore we would like to write our own command line tool that serves our purpose better. This will help all developers that work with the shop to speed up the process and make it less prone to mistakes. It would enforce the developer to use the correct git workflow and make tasks like building a release package more accessible for other team members but the release managers.
Currently it's quite usual that developers make some mistakes here and there, especially when it comes to changes in the workflow. With this tool we encapsule all the underlying actions with just one command. If we add changes to the workflow later and immediately change the underlying actions of the commands, the developer would not have to change anything in his workflow. He would just continue using the command line tool the same way as before. So it would be way easier to introduce changes to the workflow.
The stability and speed of our package build would also benefit from such a tool.

The feature is easily scalable, because new commands can be added successively.

The tool should be in a seperate repository.

A suggestion for the name of the tool would be gx, so an example use could look like this: gx release start v4.5.2.0_beta1.

The command line tool should be able to handle at least these actions:

  • Help creating feature branches, working with them and finishing them
  • Help creating bugfix branches, working with them and finishing them
  • Help creating release branches, working with them and finishing them
  • Handle patch versions for earlier versions correctly (release branch won't be merged to main branch and tag will be put to the release branch which will result in a tag on a detatched head after removing the release branch)

The exact commands and also further needed commands should be identified during conceptualization.

An idea for an additional feature of this tool:
According to our branching strategy, bugfix branch names should contain the ticket number and a short description of the bug. Since it is only possible to use a certain set of characters for branch names, we currently just summarize the title of the bug ticket and make it kebab case. It would be nice, if we could just copy the bug ticket title and paste it as additional parameter to the command and convert it automatically to alphanumerical kebab case and attach it to the branch name.

Example:

gx bugfix start 69055  "It's not possible to apply full width backgrounds to content sections"

would result in a branch name like this:

4.5/bugfix/69055-its-not-possible-to-apply-full-width-backgrounds-to-content-sections

Aktionen

Auch abrufbar als: Atom PDF