\begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Créer une branche} On créé une branche qui contiendra le fichier password. \commande{git checkout -b branche\_indiscrete} équivalent de la succession de commandes : \begin{enumerate} \item \commande{git branch branche\_indiscrete} \item \commande{git checkout branche\_indiscrete} \end{enumerate} \begin{tikzpicture} \gitDAG[grow right sep = 1em]{ A -- B}; \gitbranch{master}{above=of B}{B} \gitHEAD{above=of master}{master} \end{tikzpicture} \begin{tikzpicture} \gitDAG[grow right sep = 1em]{ A -- B}; \gitbranch{master}{above=of B}{B} \gitHEAD{above=of master}{master} \gitbranch[brindis]{brancheindiscrete}{below=of B}{B} \end{tikzpicture} \begin{tikzpicture} \gitDAG[grow right sep = 1em]{ A -- B}; \gitbranch{master}{above=of B}{B} \gitbranch[brindis]{brancheindiscrete}{below=of B}{B} \gitHEAD{below=of brindis}{brindis} \end{tikzpicture} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \frametitle{Aparté} \commande{git add password} \commande{git commit -m "le fichier indésirable"} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \frametitle{Aparté} \commande{git log master..branche\_indiscrete} \commande{git log master..} \commande{git reflog} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Merge} \commande{git checkout master} \commande{git branch merge/automatique} \commande{git branch merge/conflit} \commande{git branch merge/rebase} % \begin{tikzpicture} % \gitDAG[grow down sep = 1em]{ % A -- B}; % \gitbranch{master}{left=of B}{B} % \gitHEAD{left=of master}{master} % \gitbranch[auto]{merge/automatique}{right=of master}{B} % \gitbranch[conflit]{merge/conflit}{right=of auto}{B} % \gitbranch[rebase]{merge/rebase}{right=of conflit}{B} % \end{tikzpicture} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Merge} \commande{git checkout merge/automatique} \commande{cp doc/README\{,.md\}} \commande{git add doc/} \commande{git commit -m "Copie du fichier"} % \begin{tikzpicture} % \gitDAG[grow down sep = 1em]{ % A -- B --{C}}; % \gitbranch{master}{right=of B}{B} % \gitHEAD{left=of auto}{auto} % \gitbranch[auto]{merge/automatique}{left=of C}{C} % \gitbranch[conflit]{merge/conflit}{right=of master}{B} % \gitbranch[rebase]{merge/rebase}{right=of conflit}{B} % \end{tikzpicture} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Merge} \commande{git checkout merge/conflit} Édition du fichier doc/README \commande{git commit -am "Des ennuis en perspective"} % \begin{tikzpicture} % \gitDAG[grow down sep = 1em]{ % A -- B --{C, D}}; % \gitbranch{master}{right=of B}{B} % \gitHEAD{left=of conflit}{conflit} % \gitbranch[auto]{merge/automatique}{right=of C}{C} % \gitbranch[conflit]{merge/conflit}{left=of D}{D} % \gitbranch[rebase]{merge/rebase}{right=of master}{B} % \end{tikzpicture} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Merge} \commande{git checkout merge/rebase} Édition du fichier doc/README \commande{git commit -am "Des ennuis en perspective"} % \begin{tikzpicture} % \gitDAG[grow right sep = 1em]{ % A -- B --{C, D, E}}; % \gitbranch{master}{above=of B}{B} % \gitHEAD{above=of rebase}{rebase} % \gitbranch[auto]{merge/automatique}{above=of C}{C} % \gitbranch[conflit]{merge/conflit}{above=of D}{D} % \gitbranch[rebase]{merge/rebase}{above=of E}{E} % \end{tikzpicture} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Merge} \commande{git checkout master} Édition du fichier doc/README pour ajouter des alias \commande{git commit -am "Des ennuis en perspective"} Pour chaque branche merge/*, tenter la commande : \commande{git merge merge/} \end{frame} \begin{frame} \frametitle{Utiliser les branches} \framesubtitle{Rebase} \commande{git checkout merge/rebase} \commande{git rebase master} % \begin{tikzpicture} % \gitDAG[grow down sep = 1em]{ % A -- B --{C, D, E'}}; % \gitbranch{master}{right=of B}{B} % \gitHEAD{left=of rebase}{rebase} % \gitbranch[auto]{merge/automatique}{right=of C}{C} % \gitbranch[conflit]{merge/conflit}{right=of D}{D} % \gitbranch[rebase]{merge/rebase}{left=of E'}{E'} % \end{tikzpicture} \end{frame} % \begin{tikzpicture} % % Commit DAG % \gitDAG[grow right sep = 2em]{ % A -- B -- { % C, % D -- E, % } % }; % % Tag reference % \gittag % [v0p1] % node name % {v0.1} % node text % {above=of A} % node placement % {A} % target % % Remote branch % \gitremotebranch % [origmaster] % node name % {origin/master} % node text % {above=of C} % node placement % {C} % target % % Branch % \gitbranch % {master} % node name and text % {above=of E} % node placement % {E} % target % % HEAD reference % \gitHEAD % {above=of master} % node placement % {master} % target % \end{tikzpicture} % \begin{tikzpicture} % \gitDAG[grow right sep = 2em]{ % A -- B -- { % C -- D' -- E', % {[nodes=unreachable] D -- E }, % } % }; % % Tag reference % \gittag % [v0p1] % node name % {v0.1} % node text % {above=of A} % node placement % {A} % target % % Remote branch % \gitremotebranch % [origmaster] % node name % {origin/master} % node text % {above=of C} % node placement % {C} % target % % Branch % \gitbranch % {master} % node name and text % {above=of E'} % node placement % {E'} % target % % HEAD reference % \gitHEAD % {above=of master} % node placement % {master} % target % \SAandWT % \end{tikzpicture}