1 of 21

git refresher

Paweł Radecki�With love for geeksessions.io�At Loule 2nd April 2025

1

2 of 21

git refresher

…or a short story of very important values in engineering…�

2

3 of 21

git refresher

…or a short story of very important values in engineering…��reverse engineeringintrinsic motivation, �self-learning yet another technology �and digging for truth

3

4 of 21

git refresher

Git experienced I-know-all-basics-well users go to chapter 4

4

5 of 21

Once upon a time…

01

5

6 of 21

Once upon a time…�…I was kicked out of project and wanted to use between project time to share knowledge…

01

6

7 of 21

Once upon a time…�…I was kicked out of project and wanted to use between project time to share knowledge…�…because I love sharing knowledge and experience to confront it with others to know the truth

01

7

8 of 21

What is git vs. GitHub / gittea / forgejo ?�What was it created for?�Why has it become de-facto standard of version control?�Why is it so confusing?��

8

9 of 21

What is git?�What was it created for?�Why has it become de-facto standard of version control?�Why is it so confusing?��My inner child wants never to stop asking questions�

9

10 of 21

What is git?�What was it created for?�Why has it become de-facto standard of version control?�Why is it so confusing?��My inner child wants never to stop asking questions�My curious self keeps scribbling and brain dumping observing all possible questions arriving

10

11 of 21

Git�basic �concepts�and �commands

02

11

12 of 21

repository�commit�Directed Acyclic Graph, version graph�branch�HEAD�garbage collection����

12

13 of 21

Let’s connect �and check� some repository…�…with tmate����

13

14 of 21

git clone� init� add� commit� checkout� merge

rebase

cherry-pick� pull� push [--force]����

14

15 of 21

Let’s try some �commands locally…�…with tmate����

15

16 of 21

Github

03

16

17 of 21

Let’s collaborate�on GitHub��- Agree on workflow - feature branch�- Write README.md�- Write fizz_buzz API & stub�- Write dummy fizz_buzz[.rb] for 1 < n < 4�- Write fizz_buzz[.rb] for any n�- Write fizz_buzz_test[.rb]

- Fix bugs if test finds them

����

17

18 of 21

Challenge yourself

04

18

19 of 21

19

20 of 21

Questions?�Ask anything about git now�Or later by discord/signal/e-mail

99

20

21 of 21

THANK YOU

Paweł Radecki @GeekSessions Discord

Signal: @paweljradecki.12

E-mail: pawel.j.radecki@gmail.com

21