Dennis Heidsiek wrote:
 > Aber TortoiseGit bietet mir hingegen fünf Möglichkeiten an:
• Fetch:
• Pull:
• Add:
• Commit:
• Push:
Hier scheint offensichtlich ein anderer Arbeitsablauf vorzuliegen.
Ja, das ist auch der Fall.
Der Arbeitsablauf bei Git ist wesentlich anders, was am Konzept liegt, es ist eben ein verteiltes System und kein zentralisiertes.

• »Fetch« ist dazu da, die Referencen von einem Remote zu holen, das ändert an deinem Worktree erstmal gar nichts. Du kannst dann aber z.B. mittels cherry-pick einzelne Commits auswählen, oder dir diverse Diffs davon anschauen.
• »Pull« macht erst »Fetch« und dann »Merge«.
• »Add« gibst du die Dateien, die du im nächsten Commit einbeziehen willst. Wobei »Dateien« hier unvollständig ist, denn du kannst auch nur Teile der Änderungen einer Datei hinzufügen (sogenannte »Hunks«). Ob TortoiseGit das schon unterstützt kann ich nicht sagen, normal muss man `git add -i` ausführen, wobei das CL-Interface effektiv, aber etwas gewöhnungsbedürftig und nicht intuitiv ist. • »Commit« erstellt einen Commit, wobei du den letzten Commit auch nachträglich bearbeiten kannst (--amend) • »Push« ist das Gegenteil von »Pull«, du schickst also deine Änderungen an ein remote Repo, wobei ein »Push« diversen Beschränkungen unterliegen kann, hier kommt es auf die Konfiguration des Servers an, so könnte ein Push z.B. nur dann erlaubt sein, wenn es keine Konflikte gibt, sonst bleibt das remote Repo unverändert (ist ja auch nur sinnvoll ;)).

Hoffe jetzt ist einiges klarer. ;)

Gruß,
Bernd

Antwort per Email an