Download - 20131028 named braches
![Page 1: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/1.jpg)
Named Branches
![Page 2: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/2.jpg)
![Page 3: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/3.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/4.jpg)
Branch Repos („forks“)
![Page 5: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/5.jpg)
Branch Repos („forks“) - 2
• Getrennte Repos in getrennten Verzeichnissen
![Page 6: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/6.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/7.jpg)
Also warum was ändern?
• Öfter mal was Neues • Geistig fit bleiben
![Page 8: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/8.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/9.jpg)
Enter named branches
h"p://stevelosh.com/blog/2009/08/a-‐guide-‐to-‐branching-‐in-‐mercurial/
![Page 10: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/10.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/11.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/12.jpg)
PhpStorm - Branches
![Page 13: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/13.jpg)
Hands on – Commit auf Branch
Situa>onal awareness?
![Page 14: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/14.jpg)
Hands on – Push it, baby
„-‐b .“ meint „mein aktueller Branch“
![Page 15: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/15.jpg)
Hands on - Pull
![Page 16: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/16.jpg)
Kiln – Branches
![Page 17: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/17.jpg)
Kiln – Eindimensional, bi!e
![Page 18: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/18.jpg)
Kiln – History per-branch
![Page 19: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/19.jpg)
Kiln – etwas komplizierteres Beispiel
auf „default“
auf „0.1.x“
„branch heads“
![Page 20: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/20.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/21.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/22.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/23.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/24.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/25.jpg)
Anhang: Fortgeschri!ene Themen
• Braches anlegen • Cross-Branch merges (spooky!) • Zweige schließen
![Page 26: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/26.jpg)
Branch anlegen
![Page 27: 20131028 named braches](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/27.jpg)
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](https://reader033.vdokument.com/reader033/viewer/2022052621/55859b88d8b42ac76d8b50eb/html5/thumbnails/28.jpg)
Branch schließen
• hg up feature!• hg commit --close-branch -m „...“ !• à Branch ist jetzt „closed“ • Nur hg branches --closed zeigt
ihn noch