diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2022-05-20 20:57:02 +0200 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2022-05-20 20:57:02 +0200 |
commit | 14f98bb4be016451570a2619533e92f7fe55e351 (patch) | |
tree | 0306ef0705dad3fe8c8e75afd7366ef837702b98 |
Lehengo zatia: git basikoa eta sarrera
-rw-r--r-- | 1.md | 171 | ||||
-rw-r--r-- | img/banatuak.png | bin | 0 -> 26657 bytes | |||
-rw-r--r-- | img/lifecycle.png | bin | 0 -> 13727 bytes | |||
-rw-r--r-- | img/zentralizatuak.png | bin | 0 -> 22810 bytes | |||
-rw-r--r-- | template.tex | 236 |
5 files changed, 407 insertions, 0 deletions
@@ -0,0 +1,171 @@ +--- +title: GIT — EITB 2022 +subtitle: Sarrera eta erabilera basikoa +license: CC-BY-SA 4.0 +author: Ekaitz Zarraga +links-as-notes: true +lang: basque +polyglossia-lang: + name: basque +how-to: pandoc -f markdown+smart -t beamer % -o pdf/1.pdf --pdf-engine=xelatex --template=./template.tex +... + +# Sarrera: Bertsio kontrol sistemak + +## Lizentzia + +- CC-BY-SA 4.0 +- Dokumentu honen edukiak eta irudiak [**Pro Git (Scott Chacon, Ben + Straub)**](https://git-scm.com/book/en/v2) liburutik atera dira. + +## Bertsio kontrolerako sistemak + +`Document_v3_FINAL.pdf` + +--- + +![Bertsio kontrol sistema zentralizatuak](img/zentralizatuak.png){ height=180px } + +--- + +![Bertsio kontrol sistema banatuak](img/banatuak.png){ height=300px } + + +# GIT: Hasiera + +## Kontestua + +- 2005-ean argitaratu zen +- Linux garapenerako garatu zen + - Milioika garatzaile + - *Codebase* handiak kudeatzeko +- Sistema banatua (*distributed*) da +- *Snapshot*etan oinarrituta +- Operazio gehienak lokalak dira eta normalean ez ditu datuak ezabatzen +- Integridade kontrola egiten du SHA-1 erabiliz +- Hiru egoera: + `FITXATEGIA — STAGING AREA — REPOSITORIOA` + +## Instalazioa + +Debian oinarritutako distribuzioetan: + +``` +apt-get install git +``` + +Beste distribuzioetan antzeko komandoren batekin egin daiteke. + + +## Konfigurazio sistema + +- Sistema mailakoa: `/etc/gitconfig` +- Konfigurazio generala: `~/.config/git/config` edo `~/.gitconfig` +- Konfigurazio lokala. Repositorio bakoitzeko: `$REPOSITORIOA/.git/config` + +Kaskada moduan dabil, konfigurazio lokalak generala zapaltzen du. +Nondik datorren ikusteko: + +``` +git config --list --show-origin +``` + +## Konfigurazioa kudeatzea + +Komandoek konfigurazio fitxategia irakurri edo idazten dute. Eskuz egin +daiteke. + +Komando orokorra: + +``` +git config [--global] atala.klabea [balioa] +``` + +- `balioa` gehitzen ez bada konfigurazioa irakurtzen da idatzi beharrean. +- `--global` konfigurazio globala kudeatzeko erabiltzen da. + +Benetan konplexuagoa da, laguntza begiratu. + + +## Hasierako konfigurazioa + +Identitatea definitu. Beharrezkoa da commiten egilea nor den jakiteko. + +``` +git config --global user.name "John Doe" +git config --global user.email johndoe@example.com +``` + +Editorea aukeratzeko. + +``` +git config --global core.editor vim +``` + + + +## Laguntza lortzeko + +- `git help` +- `man` + + +# GIT: Basikoa + +## Repositorio bat lortzen + +Bi aukera: + +- Repositorio berri bat hasi: `git init`. Oraingo direktorioan `.git` + direktorioa eratuko du, bertan Git-en datuak gordeko dira. + +- Repositorio bat klonatu: `git clone <URL>`. Oraingo direktorioan emandako + repositorioa kopiatuko du, bere `.git` direktorioa barne. Protokolo + ezberdinetan egin daiteke komunikazioa. + +## Fitxategien egoerak + +![Fitxategien egoera ezberdinak](img/lifecycle.png){ height=180px } + +## Repositorioaren egoera ikusteko + +- `git status` +- Fitxategi batzuei jaramonik ez egiteko: `.gitignore` fitxategi bat gehitu. + *Glob pattern*ak erabiltzen ditu. + +## Egoeraz aldatzeko + +- Fitxategi berriak gehitzeko: `git add` +- Aldaketak *staging area*ra bidaltzeko: `git add` + +## Aldaketak ikusteko + +- `git diff` +- `git diff --cached|--staged` +- `git difftool` (konfiguratuta badago) + +## Aldaketak idazteko + +- `git commit` + +Mezu bat idaztea eskatzen du: `$EDITOR` edo `git config --global core.editor` +programa exekutatuz. + +## Fitxategiak ezabatzeko + +- `git rm` +- `git rm --cached` + +## Izenak aldatzeko + +- `git mv` + +Edo bestela fitxategia eskuz lekuz aldatu eta gero `git rm` + `git add` egin. + + + +## Commit historia ikusteko — I + +- `git log` + +Oso komando komplexua da, eta aukera asko ditu. diff --git a/img/banatuak.png b/img/banatuak.png Binary files differnew file mode 100644 index 0000000..53cfcae --- /dev/null +++ b/img/banatuak.png diff --git a/img/lifecycle.png b/img/lifecycle.png Binary files differnew file mode 100644 index 0000000..922b02c --- /dev/null +++ b/img/lifecycle.png diff --git a/img/zentralizatuak.png b/img/zentralizatuak.png Binary files differnew file mode 100644 index 0000000..9aa3e90 --- /dev/null +++ b/img/zentralizatuak.png diff --git a/template.tex b/template.tex new file mode 100644 index 0000000..31b2bf7 --- /dev/null +++ b/template.tex @@ -0,0 +1,236 @@ +\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} +\setbeamertemplate{caption}[numbered] +\setbeamertemplate{caption label separator}{: } +\selectcolormodel{gray} % Color B&W +\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ + +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\usepackage{fixltx2e} % provides \textsubscript + + +\usefonttheme{professionalfonts} % using non standard fonts for beamer +\usefonttheme{serif} % default family is serif + +% Font +\usepackage{fontspec} +\setmainfont[ + BoldFont = Lato-Bold.ttf, + ItalicFont = Lato-Italic.ttf, + BoldItalicFont = Lato-BoldItalic.ttf +]{Lato-Regular.ttf} +\newcommand{\euro}{€} + +% Images with no captions +\usepackage{caption} +\captionsetup[figure]{labelformat=empty} + +% Bullet style +\useinnertheme{circles} +\newlength{\wideitemsep} +\setlength{\wideitemsep}{\itemsep} +\addtolength{\wideitemsep}{5pt} +\let\olditem\item +\renewcommand{\item}{\setlength{\itemsep}{\wideitemsep}\olditem} + +$if(euro)$ + \newcommand{\euro}{€} +$endif$ + +% Language +\usepackage{polyglossia} +\setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} + +\newif\ifbibliography +$if(natbib)$ +\usepackage{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ + +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ + +\hypersetup{ +$if(title-meta)$ + pdftitle={$title-meta$}, +$endif$ +$if(author-meta)$ + pdfauthor={$author-meta$}, +$endif$ +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, +$endif$ +$if(colorlinks)$ + colorlinks=true, + linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, + citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, + urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, +$else$ + pdfborder={0 0 0}, +$endif$ + breaklinks=true} +\urlstyle{same} % don't use monospace font for urls +$if(verbatim-in-note)$ +\VerbatimFootnotes % allows verbatim text in footnotes +$endif$ +$if(listings)$ +\usepackage{listings} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(tables)$ +\usepackage{longtable,booktabs} +\usepackage{caption} +% These lines are needed to make table captions work with longtable: +\makeatletter +\def\fnum@table{\tablename~\thetable} +\makeatother +$endif$ +$if(graphics)$ +\usepackage{graphicx,grffile} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight0.8\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +$endif$ + +% Prevent slide breaks in the middle of a paragraph: +\widowpenalties 1 10000 +\raggedbottom + +$if(section-titles)$ +\AtBeginPart{ + \let\insertpartnumber\relax + \let\partname\relax + \frame{\partpage} +} +\AtBeginSection{ + \ifbibliography + \else + \let\insertsectionnumber\relax + \let\sectionname\relax + \frame{\sectionpage} + \fi +} +\AtBeginSubsection{ + \let\insertsubsectionnumber\relax + \let\subsectionname\relax + \frame{\subsectionpage} +} +$endif$ + +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ + +$if(strikeout)$ +\usepackage[normalem]{ulem} +% avoid problems with \sout in headers with hyperref: +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt plus 2pt minus 1pt} +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{0} +$endif$ +$if(dir)$ +\ifxetex + % load bidi as late as possible as it modifies e.g. graphicx + $if(latex-dir-rtl)$ + \usepackage[RTLdocument]{bidi} + $else$ + \usepackage{bidi} + $endif$ +\fi +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \TeXXeTstate=1 + \newcommand{\RL}[1]{\beginR #1\endR} + \newcommand{\LR}[1]{\beginL #1\endL} + \newenvironment{RTL}{\beginR}{\endR} + \newenvironment{LTR}{\beginL}{\endL} +\fi +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(title)$ +\title{$title$} +$endif$ +$if(subtitle)$ +\subtitle{$subtitle$} +$endif$ +$if(author)$ +\author{$for(author)$$author$$sep$ \and $endfor$} +$endif$ +$if(institute)$ +\institute{$for(institute)$$institute$$sep$ \and $endfor$} +$endif$ +\date{$date$} + +\begin{document} +$if(title)$ +\frame{\titlepage} +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +\begin{frame} +\tableofcontents[hideallsubsections] +\end{frame} + +$endif$ +$body$ + +$if(natbib)$ +$if(bibliography)$ +$if(biblio-title)$ +$if(book-class)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\begin{frame}[allowframebreaks]{$biblio-title$} +\bibliographytrue +\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +\end{frame} + +$endif$ +$endif$ +$if(biblatex)$ +\begin{frame}[allowframebreaks]{$biblio-title$} +\bibliographytrue +\printbibliography[heading=none] +\end{frame} + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} |