28
Named Branches

20131028 named braches

Embed Size (px)

Citation preview

Page 1: 20131028 named braches

Named Branches

Page 2: 20131028 named braches
Page 3: 20131028 named braches

Recap: Branches

• Unabhängige, parallele Entwicklung –  Z. B. zwei Features

•  „Merge“: Entwicklung von einem Branch auf einen anderen übernehmen –  ... erst, wenn fertig, getestet, abgenommen –  ... in der Reihenfolge, wie es fertig wird

Page 4: 20131028 named braches

Branch Repos („forks“)

Page 5: 20131028 named braches

Branch Repos („forks“) - 2

• Getrennte Repos in getrennten Verzeichnissen

Page 6: 20131028 named braches

Branch Repos („forks“) - 3

• Das kennt ihr schon!

h"p://stevelosh.com/blog/2009/08/a-­‐guide-­‐to-­‐branching-­‐in-­‐mercurial/  

Page 7: 20131028 named braches

Also warum was ändern?

• Öfter mal was Neues • Geistig fit bleiben

Page 8: 20131028 named braches

Also warum was ändern? (reloaded)

• Keine wiederholten composer-Downloads der gleichen Dinge (in verschiedenen Ordnern) § Nur ggf. „delta“ bei unterschiedlichen Deps

• Bei composer-Packages müssen wir es so machen § Einheitlichkeit, Gewöhnung

•  Leichter und schneller anzulegen §  Lokaler Befehl statt Kiln-Aktion

Page 9: 20131028 named braches

Enter named branches

h"p://stevelosh.com/blog/2009/08/a-­‐guide-­‐to-­‐branching-­‐in-­‐mercurial/  

Page 10: 20131028 named braches

Hands on – Setup •  cd ~/Projekte !•  hg clone http://bit.ly/HeAxhr case-22079-up !

•  hg clone case-22079-up case-22079 !•  cd case-22079 !

Page 11: 20131028 named braches

Hands on – Branches zeigen und wechseln

•  hg branches!•  hg up –c {branchname} !–  „-c“: Abbrechen, falls lokale Änderungen –  Sonst werden Änderungen mit auf den neuen Branch

genommen –  „-C“: Änderungen wegschmeißen und auf sauberen Stand

wechseln

• Branch-Namen: –  „default“ –  „you name it“ –  Nicht: „tip“ (vergesst „tip“)

Page 12: 20131028 named braches

PhpStorm - Branches

Page 13: 20131028 named braches

Hands on – Commit auf Branch

Situa>onal  awareness?  

Page 14: 20131028 named braches

Hands on – Push it, baby

„-­‐b  .“  meint  „mein  aktueller  Branch“  

Page 15: 20131028 named braches

Hands on - Pull

Page 16: 20131028 named braches

Kiln – Branches

Page 17: 20131028 named braches

Kiln – Eindimensional, bi!e

Page 18: 20131028 named braches

Kiln – History per-branch

Page 19: 20131028 named braches

Kiln – etwas komplizierteres Beispiel

auf  „default“  

auf  „0.1.x“  

„branch  heads“  

Page 20: 20131028 named braches

Kiln - Related

•  „Related“ ist für fork-basiertes Branching gedacht • Zeigt nur branch-Punkte und Heads • Hilfreich?

Probiert‘s aus...

Page 21: 20131028 named braches

Lokale fork-Repos

• hg clone ... projekt-A !• cd projekt-A ; hg up -c feature_a ; cd .. !• hg clone ... projekt-B !• cd projekt-B ; hg up –c feature_b ; cd .. !

Page 22: 20131028 named braches

Mögliche Probleme?

• Man „sieht“ nicht so direkt, auf welchem Branch man arbeitet? •  In Kiln nicht ganz so gut unterstützt?

§ Gemeint: Grenzfälle wie Branch-Vergleich etc.

• Nicht zwei Versionen „gleichzeitig“ aktiv? • Branch-Wechsel bei uncommitted

changes?

Page 23: 20131028 named braches

Take-outs für heute •  Branch-Wechsel macht ggf. „phlough install“ notwendig

•  hg up -c {branchname} !•  hg branches!•  hg [in|out|push|pull] -b . !–  --new-branch, falls neuer Branch erzeugt/

merged •  Konventionen: –  Feature Branches „123_featuretitel “ –  Try-Branches: „try_{initials}_{case|timestamp}_desc“ (Achtung: Permanent und global)

Page 24: 20131028 named braches

Take-outs (2)

• hg branch {neuer_name} !• hg merge {anderer_branch} + hg commit!• hg ci --close-branch!• hg push -b . --new-branch (bei

Bedarf)

Page 25: 20131028 named braches

Anhang: Fortgeschri!ene Themen

• Braches anlegen • Cross-Branch merges (spooky!) • Zweige schließen

Page 26: 20131028 named braches

Branch anlegen

Page 27: 20131028 named braches

Branches zusammenführen

• hg up default!• hg merge feature!• hg commit -m „...“ !• à feature ist jetzt „inactive“, weil er

keinen Head mehr hat.

Page 28: 20131028 named braches

Branch schließen

• hg up feature!• hg commit --close-branch -m „...“ !• à Branch ist jetzt „closed“ • Nur hg branches --closed zeigt

ihn noch