Im Software Projekt wird von Atlassian das Tool Bitbucket verwendet, welches GIT über eine Weboberfläche zur Verfügung stellt.

Git

Git ist ein Versionskontrollsystem (ähnlich zu SVN). Im Gegensatz zu SVN ist die Erstellung von Abzweigungen (sog. Branches) mit Git sehr effizient möglich.

Branchmodell

Es gibt für Git unterschiedliche Möglichkeiten der Verwendung, die sich insbesondere in der Art und Weise unterscheiden, wie Branches erstellt werden. Im SWP werden wir das Feature-Branch-Modell einsetzen:

  • Es gibt einen Branch mit dem Namen "master". Der Code in diesem Branch ist immer lauffähig. In diesen Branch werden keine Änderungen direkt gepushed.
  • Es gibt für jede Änderung, die man durchführen möchte, einen eigenen Feature-Branch. Dieser Branch entspricht dabei genau einem Ticket aus Jira. Man kann aus Jira heraus direkt einen Branch anlegen.
  • Wenn man die Ergebnisse des Feature-Branches in den Master überführen möchte, macht man das über sog. Pull-Requests. Jemand anderes wird dann als Reviewer in den Pull-Request eingetragen. Dieser Reviewer kann dann Kommentare zum PR angeben und ihn entweder genehmigen oder ablehnen. Wenn der PR angenommen wird, kann er in den Master gemergt werden.

  • Optional kann es noch einen "Developer"-Branch geben. In diesem Fall werden die Feature-Branches zunächst (genauso wie beim Master) in den Developer-Branch gemergt. Auf diese Weise ist es einfacher zu garantieren, dass im Master nur lauffähiger Code enthalten ist. Wenn man mit Developer-Branches arbeitet, ist es wichtig, dass man die Feature-Branches auch vom Developer-Branch ableitet.
  • Der Workflow der Tickets in JIRA wird durch Branchen, Pull Request erstellen und Mergen automatisch weitergeführt.


Der folgende Artikel beschreibt auch noch mal sehr schön, ein Branch-Modell: http://nvie.com/posts/a-successful-git-branching-model/

Mergebedingungen

Es ist im Projekt eingestellt, dass bestimmte Bedingungen für das Mergen (und auch für das Committen) erfüllt sein müssen:

  • Es müssen alle Prüfer zustimmen
  • Kein Merge, wenn Änderungen angefordert wurden
  • Es müssen alle Tasks erledigt sein
  • Es muss mindestens einen erfolgreichen Build geben
  • Es müssen mindestens zwei Prüfer zustimmen
  • Für einen Commit muss der Jira-Key enthalten sein

Hinweise:

Insbesondere aus Bewertungsgründen ist es wichtig, dass man immer unter dem selben Namen im Git erscheint.

Falls der Server beim Push eine Fehlermeldung zeigt wie ("Remote hung up unexpectedly") kann auf dem Client: git config http.postBuffer 524288000 helfen

Hilfe, Bitbucket zeigt mein Passwort (in Graphs) an

... wenn man drüber hovert.

Das Problem ist dann, dass man bei git etwas falsch eingestellt hat (Nutzername). Weitere Infos finden sich z.B. in dem Link oben (Namen festlegen) oder auch hier:

https://riptutorial.com/de/git/example/6939/festlegen-ihres-benutzernamens-und-ihrer-e-mail


  • No labels