Bitbucket/Stash
HINWEIS: Die (selbstgehostete) On-Premise-Version von BitBucket wird unter dem Namen Stash vertrieben.
Mit BitBucket steht ein Git/Mercurial-Hoster zur Verfügung, der kostenlos private Repositories ermöglicht. GitHub ist zwar einer der bekanntesten Git-Repository-Hoster, dafür sind aber nur öffentliche Repositories kostenlos.
BitBucket liefert aber nicht nur Git-Repositories, sondern auch
JIRA (Bug-Tracking) mit Git-Workflows
Confluence (Wiki)
Pipeline (Build-and-Deployment)
Deshalb ist diese Plattform auf jeden Fall einen Blick wert ...
Getting Started
Nach Anlage eines BitBucket-Accounts hinterlegt man am besten gleich mal den ssh-Key für eine passwortlose Authentifizierung.
Über die Webapplikation läßt sich schnell eine privates/public Repository anlegen und per Git-Client lokal clonen:
Verbindungsaufbau
Die Authentifizierung kann über (ODER)
username/password ... bei Verwendung des HTTPS-Protokolls (
git clone https://mobi3006@bitbucket.org/mobi3006/de.cachaca.learn.kubernetes.git
) oder SSH-Protokollsssh-key ... bei Verwendung des SSH-Protokolls (
git clone git@bitbucket.org:mobi3006/de.cachaca.learn.kubernetes.git
)
erfolgen.
Erstellung ssh-key
Connection prüfen
Bei GitHub darf man sich NICHT mit dem Usernamen (= Email-Adresse) anmelden, sondern IMMER über den User git
:
Branch Typen
Man unterscheidet
Release-Branches
Feature-Branches
Bugfix-Branches
Hotfix-Branches
Automatisches Mergen
Stash unterstützt automatisches Mergen in jüngere Release-Branches - Voraussetzung dafür ist die Verwendung von Pull-Requests für Merges. Das reduziert den manuellen Aufwand bei der Pflege mehrerer Branches enorm. Hierzu leitet es i. a. aus den Branchnamen die Mergerichtung ab:
Wenn man also nach Branch 1.0
committed, dann wird Stash diese Änderung automatisch nach 1.1
, 1.2
und 1.2.1
mergen. Treten dabei Merge-Konflikte auf, so muß man den Merge manuell durchführen. Beispielsweise indem vom Zielbranch ein Branch erstellt wird (aka Merge-Branch) und dann dorthin gemergt wird cd MERGE_BRANCH && git pull origin SOURCEBRANCH
. Dann löst man die Konflikte auf, commited, erstellt einen Pull-Request und mergt den.
Last updated
Was this helpful?