Es bietet sich an in seinem Home Verzeichnis (Linux: /home/<username>) eine Datei '.gitconfig' anzulegen. Meine Datei sieht wie folgt aus:
[user] name = <mein_name> email = <mein_name>@gmx.de [diff] color = auto [page] color = true [status] color = auto [core] editor = kate [merge] tool = kdiff3 [color] ui = auto
[push]
default = matching
Ich empfehle jedem, diese Datei entsprechend seiner Vorlieben anzupassen. (Eine vollständige Übersicht darüber, was man da alles konfigurieren könnte liefert 'man git config').
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
Nach dem Auschecken ist die letzte Zeile 'rebase = true' für den Branch 'master' nicht gesetzt. Sie sollte aber gesetzt sein. Alle Nuclos-internen Entwickler fügen daher diese Zeile in der Datei <repository>/.git/config hinzu. Der Abschnitt sollte dann insgesamt wie folgt aussehen: Die Zeile kann mit einem einfachen Texteditor hinzugefügt werden. Noch einfacher ist es mit:
|
Es ist auch möglich (und eine Überlegung wert), für alle 'tracking branches' rebase als Standard zu benutzen! Dazu muss man folgende Kommandozeile benutzen:
cd <repository>
git config branch.autosetuprebase always
Weitere Informationen liefert [http://alblue.bandlem.com/2011/06/git-tip-of-week-pulling-and-rebasing.html].