Tags und Branches in Git


Git ist für mich nachwievor ein kleines Wunderkästchen. So langsam taste ich mich heran. Der nächste Schritt ist jetzt Tags & Branches. Hier eine super Erklärung von stackoverflow:

A tag represents a version of a particular branch at a moment in time. A branch represents a separate thread of development that may run concurrently with other development efforts on the same code base. Changes to a branch may eventually be merged back into another branch to unify them.

Usually you'll tag a particular version so that you can recreate it, e.g., this is the version we shipped to XYZ Corp. A branch is more of a strategy to provide on-going updates on a particular version of the code while continuing to do development on it. You'll make a branch of the delivered version, continue development on the main line, but make bug fixes to the branch that represents the delivered version. Eventually, you'll merge these bug fixes back into the main line. Often you'll use both branching and tagging together. You'll have various tags that may apply both to the main line and it's branches marking particular versions (those delivered to customers, for instance) along each branch that you may want to recreate — for delivery, bug diagnosis, etc.

It's actually more complicated than this — or as complicated as you want to make it — but these examples should give you an idea of the differences.

Und dann gibts auf nvie.com noch eine wunderschöne Grafik und schon ist eigentlich alles klar. Der Beitrag ist sehr empfehlenswert!

Und dann wäre hier noch eine kleine Übersicht, über die wichtigsten Git Befehle: http://www.siteground.com/tutorials/git/commands.htm

Und hier noch gleich ein schöner Artikel um mit dem ganzen Branching Zeugs anzufangen.

Und hier noch ein paar Code Schnippsel/Beispiel, welche ich sonst wahrscheinlich wieder suchen werde:

Ein lokalen Branch ins entfernte Repository pushen: Origin = remote, development = der lokale Branch

git push origin development