Mercurial > hg > mercurial-talk
view git-branches.tex @ 357:b3bd9bc3e5f8
Remove extra slides for now
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Thu, 21 Jun 2012 16:52:16 +0200 |
parents | 2815efa41c1f |
children |
line wrap: on
line source
\begin{frame}{Branches in Git} \tikzstyle{rev}+=[on chain, minimum size=5mm] \tikzset{node distance=10mm and 12mm, on grid} Similar to using bookmarks in Mercurial: \begin{itemize} \item branch pointer advances on commit: \begin{tikzpicture}[start chain] \path (0, -1) rectangle (6, 1.5); \node<1->[rev, join] {}; \node<1> [rev, join, pin=above:origin/master, pin=below:master] {}; \node<2->[rev, join, pin=above:origin/master] {}; \node<2>[rev, join, pin=below:master] {}; \node<3->[rev, join] {}; \node<3->[rev, join, pin=below:master] {}; \end{tikzpicture} \item<4-> pull and merge of changesets from others: \begin{tikzpicture}[start chain] \path (0, -1) rectangle (6, 1.5); \node[rev, join] {}; \node<4>[rev, join, pin=above:origin/master] {}; \node<5->[rev, join] {}; \begin{scope}[start branch=pulled] \node<5->[rev, join=by join-nw, on chain=going above right] {}; \node<5->[rev, join] {}; \node<5>[rev, join, pin=right:origin/master] {}; \node<6->[rev, join] {}; \end{scope} \node<4->[rev, join] {}; \node<4,5>[rev, join, pin=below:master] {}; \node<6->[rev, join] {}; \begin{scope}[continue branch=pulled] \node<6->[rev,on chain=going below right,join=by join-en, join=with chain-end, pin=right:origin/master, pin=below:master] {}; \end{scope} \end{tikzpicture} \end{itemize} \end{frame} \begin{frame}{Deleting a Git Branch} \tikzstyle{rev}+=[on chain, minimum size=5mm] \tikzset{node distance=10mm and 12mm, on grid} Git can \alert{garbage collect} changesets: \begin{itemize} \item repository with experimental branch: \begin{tikzpicture}[start chain] \path (0, -1) rectangle (6, 1.5); \node[rev, join] {}; \node[rev, join] {}; \begin{scope}[start branch=pulled] \node<1>[rev, join=by join-nw, on chain=going above right] {}; \node<1>[rev, join] {}; \node<1>[rev, join, pin=right:experiments] {}; \node<2->[rev, opacity=0.3, join=by {join-nw, black!30!white}, on chain=going above right] {}; \node<2->[rev, opacity=0.3, join=by {black!30!white}] {}; \node<2->[rev, opacity=0.3, join=by {black!30!white}] {}; \end{scope} \node[rev, join] {}; \node[rev, join, pin=below:master] {}; \end{tikzpicture} \item<2-> delete branch with \cmd{git branch -D experiments} \item<2-> faint commits may disappear on next \cmd{git gc} \item<3-> \alert{delete on server} with \cmd{git push origin \alert{:}experiments} \end{itemize} \end{frame}