Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Hat man aus bitbucket.org zum ersten mal ausgecheckt, dann hat man zwar alle 'remote Branches' (git branch -r), aber nur einen lokalen 'tracking branch' (git branch), nämlich den der 'remotes/origin/master' folgt: 'heads/master' oder kurz 'master'.

Die anderen 'tracking branches' müssen also noch erstellt werden! In eclipse/sts geht das wie folgt:

Project Explorer -> nuclos (Hauptprojekt) -> rechte Maustaste -> Team -> Switch to -> New branch ...



Hier wird also der richtige 'remote branch' gewählt. Eclipse/STS schlägt dann automatisch einen Namen für den lokalen 'tracking branch' vor. Alternativ funktioniert's auch auf der Kommandozeile mit 'git branch -l -t 3.8 origin/3.8'.

Sehr wichtig ist es, als 'Pull stategy' Rebase auszuwählen (wie im Screenshot geschehen), da so unnötige 'Merges' durch Pull vermieden werden! Genauere Informationen hierzu finden sich unter [http://git-scm.com/book/de/Git-Branching-Rebasing] und [http://www.jarrodspillers.com/2009/08/19/git-merge-vs-git-rebase-avoiding-rebase-hell/] (beides Pflichtlektüre für Entwickler!).

Diese Erstellung des 'tracking branch' muss nur einmal durchgeführt werden. Danach finden man die schon erstellten 'tracking branches' in Eclipse/STS direkt im 'Switch to' Menü:



Git intern fügt die Erstellung eines 'tracking branch' einen Abschnitt ähnlich dem folgenden in die Datei '<repository>/.git/config' ein:

[branch "3.8"]
        remote = origin
        merge = refs/heads/3.8
        rebase = true Der entscheidene Grund für diese Mail ist, dass

Warnung

Nach dem Auschecken ist die letzte Zeile 'rebase = true' für den Branch 'master' nicht gesetzt

...

. Sie sollte aber gesetzt sein

...

. Bitte fügt daher alle diese Zeile in der Datei <repository>/.git/config hinzu. Der Abschnitt sollte dann insgesamt wie folgt aussehen:

[branch "master"]
        remote = origin
        merge = refs/heads/master

...

rebase = true

Weitere Informationen in [http://stackoverflow.com/questions/11955305/what-is-the-meaning-of-pull-strategy-when-creating-a-branch-with-egit].

Rebase als Standard 'pull strategy'

...