You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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/

Hinweise:

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

  • No labels