# Warsztaty z gita

***Prace w toku***

 **Nazwa**

git gud

**Plan**

- 3 spotkania po półtorej godziny
- Podejście praktyczne, na każdym około 20-30 minut gadania, potem tylko zadanka. Tak się sprawdzało u Kuby Orlika.
- Niski próg wejścia
- Target: Windows users without git knowledge
- Kurcze po rozpisaniu spotkań to generalnie widać, że jest mega mało czasu. Pewnie można by zając nawet około 5 spotkań.

<div id="bkmrk-co-powinno-si%C4%99-znale">**Co powinno się znaleźć na plakacie**  
</div>- Co
- Gdzie
- Kiedy
- Co trzeba przygotować

<div id="bkmrk-co-ludzie-musz%C4%85-przy">**Co ludzie muszą przygotować**  
</div>- Komputer przenośny z działającym WiFi (Windows/Linux/Mac)
- Zainstalowany Git. \[Może utworzymy poradnik?\] (voltar: najpierw bym zerknął czy nie ma już jakiś wystarczająco dobrych i jeśli nie to można jak najbardziej)

<div id="bkmrk-co-my-musimy-przygot">**Co my musimy przygotować**  
</div>- Wstęp teoretyczny na każde z trzech spotkań
- Zadania
- Sieć WiFi? Zobaczymy czy to nam będzie potrzebne (voltar: możnaby postawić sieć z jedną raspberką hostującą forgejo jako gitowy hosting do zadań jeśli chcemy lokalnie, jeśli www to można by u juniora postawić)

<div id="bkmrk-pomys%C5%82y-zebrane">**Pomysły zebrane**  
</div>- Odtworzyć workflow firmowy pracy nad jednym repozytorium z numerami ticketów i wszystko
- Ostatnie warsztaty można poświęcić na nietypowe zastosowania gita lub np internale
- Historia systemów kontroli wersji jest dość fajna i można to też przekazać, ale to nam się zrobi tak z 15-30 minut gadania na to.
- Trzeba zaznaczać: GitHub is not Git
- Jakieś mocne aspekty autopromocji musimy gdzieś wpleść
- Pytania rekrutacyjne z Gita (voltar: imho to można pominąć, bo jak ktoś będzie sobie trochę samemu korzystać to powinien ogarnąć)
- ratowanie gita czyli radzenie sobie z popularnymi błędami czy innymi fuckupami

<div id="bkmrk-opis-warsztat%C3%B3w">**Opis warsztatów**  
</div><div id="bkmrk-">  
</div><div id="bkmrk-skejcie-co%C5%9B-z-tych-o">Skejcie coś z tych opisów niżej.  
</div><div id="bkmrk--1">  
</div><div id="bkmrk-numer1%3A">numer1:</div><div id="bkmrk-git-przenika-%C5%9Bwiat-i">Git przenika świat IT niczym &lt;&gt;. Jego nieznajomość cały czas się przypomina. Jeśli też jesteś w takiej sytuacji to serdecznie zapraszamy Ciebie na warsztaty. Podczas nich wytłumaczymy wszystko co jest potrzebne do zwykłej pracy w tym systemie, a przy okazji wymagane do zdobycia zatrudnienia.  
</div><div id="bkmrk--2">  
</div><div id="bkmrk-numer2%3A-knyfyrtel-ha"><div>numer2:  
</div><div>Knyfyrtel Hackerspace Poznań we współpracy z Kołem Naukowym Spektrum zaprszaszy na warsztaty ${event_name}. Podczas nich zdobędziesz nie tylko podstawową wiedzę z obsługi tego systemu, ale nawet ekspercką. Gwarantujemy, że te umiejętności przydadzą się drodze IT niezależnie czy hobbistycznej czy zawodowej.  
</div><div>  
</div><div><div>numer2,5:  
</div><div>Knyfyrtel Hackerspace Poznań we współpracy z Kołem Naukowym Spektrum zaprszaszy na warsztaty ${event_name}. Podczas nich zdobędziesz nie tylko podstawową wiedzę z obsługi tego systemu, ale . Gwarantujemy, że te umiejętności przydadzą się drodze IT niezależnie czy hobbistycznej czy zawodowej.  
</div></div><div>  
</div></div><div id="bkmrk-numer3%3A">numer3:  
</div><div id="bkmrk-knyfyrtel-hackerspac">Knyfyrtel Hackerspace Poznań we współpracy z Kołem Naukowym Spektrum... to dobry początek, coś jak wjeżdżający "Universal" na filmach.  
</div><div id="bkmrk--3">  
</div><div id="bkmrk-numer4%3A">numer4:  
</div><div id="bkmrk-kto%C5%9B-niech-si%C4%99-posta">ktoś niech się postara bardziej pls nie mam weny  
</div><div id="bkmrk--4">  
</div><div id="bkmrk-plakat%2Fgrafika-na-fb">**Plakat/grafika na FB**  
</div><div id="bkmrk-todo">TODO  
</div><div id="bkmrk--5">  
</div><div id="bkmrk-certyfikaty">**Certyfikaty**  
</div><div id="bkmrk-ja-bym-si%C4%99-z-tego-wy">Ja bym się z tego wycofało, ale nie narzucam. Nie mamy jak zachować weryfikowalności tych certyfikatów na co najmniej pare lat, a IMO to jest hard requirement robienia certyfikatów.  
voltar: Bez certów będzie łatwiej, ale nawet z weryfikacją nie będzie tragedii, jakieś proste sprawdzanie sha256 z imienia i nazwiska + jakiś salt w stylu id certu. Do tego się postawi jakieś gówno nawet na początku można w hscloud pewnie po prostu sprawdzające czy hash jest w bazie danych i tyle. Ale też nie naciskam, jak się da bez to mniej pracy dla nas, choć w sumie zrobienie jakiegoś prostego systemu by mogło być perspektywiczne dla nas i kolejnych potencjalnych warsztatów.  
</div><div id="bkmrk--6">  
</div><div id="bkmrk-spotkanie-1">**Spotkanie 1**  
</div>1. \[20min\] Prezentacja wstępna: czym jest system kontroli wersji; skróty VCS SCM; czym jest Git; Github =/= Git; Tutorial instalacji bo i tak większość nie będzie miała zainstalowane (voltar: jeśli będziemy mieli dostęp do www to można by jakiś skrypt powershellowy przygotować by czasu nie marnować). Tu też przyda się poradnik instalacji.
2. \[20min\] Historia Git'a i innych VCS bo czekamy aż sobie ludzie poinstalują.
3. \[50min\] Omówienie podstaw offlinowych. Zapisanie autora w git-config, Utworzenie repozytorium, zrobienie commita, rebase interaktywny, git log, git log --graph, diff, status (dobrze by było jakoś to fajnie opakować ludziom by nie było to zbyt nudne, jakiś scenariusz do tego + zadanie do pracy indywidualnej)

<div id="bkmrk-spotkanie-2">**Spotkanie 2**</div><div id="bkmrk-branchki%2C-rebase-nor">Branchki, rebase normalny, clonowanie i mechanizm synchronizacji, czym jest remote.  
</div><div id="bkmrk-workflow-githubowy%3A-">Workflow githubowy: Otoczenie Gita czyli PR'y, Issuesy, Frontendy webowe, szczególnie alternatywne (voltar: i o tym że warto jebać githuba)  
</div><div id="bkmrk-workflow-mailowania-">Workflow mailowania patchy</div><div id="bkmrk-workflow-gerritowy">Workflow gerritowy  
</div><div id="bkmrk-na-koniec-symulacja-">Na koniec symulacja firmy?  
</div><div id="bkmrk--7">  
</div><div id="bkmrk-spotkanie-3">**Spotkanie 3**  
</div><div id="bkmrk-%5B20min%5D-prezka-czym-">[20min] prezka Czym jest GitOps, czyli Git jako source of truth przy tworzeniu oprogramowania. (Idealne żeby spóźnionych ludzi złapać).  
</div><div id="bkmrk-ile-starczy-czasu%3A">Ile starczy czasu:  
</div><div id="bkmrk-tagi%2C-gpg%2C-ssh">Tagi, GPG, SSH  
</div><div id="bkmrk-git-stash">git stash  
</div><div id="bkmrk-git-blame">git blame</div><div id="bkmrk-git-reset">git reset</div><div id="bkmrk-git-reflog">git reflog  
</div><div id="bkmrk-git-internals">Git internals   
</div><div id="bkmrk-lfs%2C-annex">LFS, annex</div><div id="bkmrk--8">  
</div><div id="bkmrk-materia%C5%82y">**Materiały**  
</div><div id="bkmrk-https%3A%2F%2Ffosdem.org%2F2">[https://fosdem.org/2024/schedule/event/fosdem-2024-3423-version-control-post-git/](https://fosdem.org/2024/schedule/event/fosdem-2024-3423-version-control-post-git/)</div><div id="bkmrk-i-ten-drugi-talk-od-">i ten drugi talk od gitbutler</div><div id="bkmrk--9">  
</div><div id="bkmrk-prezentacje">**Prezentacje**  
</div><div id="bkmrk-todo-1">TODO</div><div id="bkmrk--10"></div>