\documentclass[10pt]{beamer} \usepackage{ucs} \usepackage[utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{graphicx} \title{Git c'est la vie} \subtitle{Un cours sur cet outil magique qui s'appelle git} \author{Francesco Bariatti} % Put table of contents at the beginning of each section \AtBeginSection[] { \begin{frame} \frametitle{} \tableofcontents[currentsection] \end{frame} } \usetheme{CambridgeUS} \usecolortheme{beaver} \begin{document} \frame{\titlepage} \section{Prérequis} \begin{frame}[fragile] \frametitle{Prerequis} \begin{itemize} \item Savoir lire la signature d'une commande \verb#command -a [-b] [-c | -d] --long-arg PARAM1 PARAMS2...# \item Savoir lire. Git affiche des messages et il faut les lire. \end{itemize} \end{frame} \section{Présentation de git} \begin{frame} \frametitle{C'est quoi git} \begin{columns}[T] \column{0.5\textwidth} \begin{block}{} Git est un logiciel de versioning. \end{block} Crée par notre modèle spirituel, Linus Torvalds en 2005. Le logiciel de versioning qui était utilisé pour le dév du noyau Linux est devenu propriétaire, donc il en a développé un autre. \column{0.5\textwidth} \begin{center} \includegraphics[scale=0.2]{img/linus} \end{center} \end{columns} \end{frame} \begin{frame} \frametitle{Ça permet de faire quoi} \begin{itemize} \item Ne pas perdre son travail \item Pouvoir inspecter des versions spécifiques de son travail \item Travailler à plusieurs \item Pouvoir donner la faute d'un bug à un collègue (on sait qui a codé quoi) \end{itemize} Git n'est pas un processus qui tourne en permanence: chaque commande est un processus rapide. Tout est enregistré dans des fichiers: il est possible d'interrompre le travail à tout moment. \end{frame} \section{Le commit} \begin{frame} \begin{block}{} Le commit est l'entité de base de git. \end{block} Un commit c'est: \begin{itemize} \item Un ensemble de changements (sur un ou plusieurs fichiers) \item Une date \item Un auteur \item \textbf{Un message} \item Un pointeur vers sont parent \end{itemize} \begin{alertblock}{} Les commit doivent raconter une histoire! \end{alertblock} \end{frame} \begin{frame} \frametitle{Un historique git} \begin{columns}[c] \column{0.5\textwidth} \begin{center} \includegraphics[height=0.7\textheight]{img/gitrepo} \end{center} \column{0.5\textwidth} \begin{itemize} \item Un projet git c'est une suite de commits (et un pointeur sur le dernier). \item Le contenu d'un fichier existe comme suite de modifications. \item Un commit non pointé est un commit perdu. \end{itemize} \end{columns} \end{frame} \begin{frame}[fragile] \frametitle{Des commandes!} \begin{itemize} \item Création d'un projet: \verb|git init DOSSIER| ou \verb|git clone URL [DOSSIER]| \item Visualisation de l'état (est-ce qu'il y a eu des modifications?): \verb|git status| \item Visualisation des modifications: \verb|git diff| \item Ajouter des modifications au prochain commit: \verb|git add FICHIERS...| \item Créer un commit: \verb|git commit| \item Voir l'historique: \verb|git log| \item Voir le log en plus joli: \verb|git log --all --graph --decorate --oneline| \end{itemize} \end{frame} \begin{frame} \frametitle{} \end{frame} \end{document}