From 81c19a90af8fcf770ff796e922f711713ed534fd Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Mon, 30 May 2022 21:36:32 +0200 Subject: resets ftw --- 2.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) (limited to '2.md') diff --git a/2.md b/2.md index 967be9a..a468b56 100644 --- a/2.md +++ b/2.md @@ -237,3 +237,78 @@ dituzte. - `-S` *pikeaxe* funtzioa - `-L` lerroen eboluzioa edo funtzioaren eboluzioa erakusten du +## Historia berridazten + +- `git commit --amend` mini-rebase baten eragina dauka +- `git rebase -i|--interactive ` aukeratutako commitera ailegatzeko + behar diren commitak aldatu. + Editorearen bitartez commit bakoitzarekin zer egin behar duen adierazi ahal + zaio: commitak batu, aukeratu, mezua berridatzi, editatu... Aukera batzuek + prozesua gelditzen dute. `git rebase --continue` egiten aurrera jarraitzen + da, edo `--abort` egiten prozesua ezeztatzen da. Komandoak berak oso ondo + azaltzen du nola egin. + +> KONTUZ: N+1 commit aldatu emaitza gutxienez commit bat behar duelako + +- `git filter-branch` eta antzeko tresnek aldaketa sakonak egin ditzakete. + Adibidez, fitxategi bat commit *guztietatik* kendu. + +## Reset eta checkout sakonki — I + +Reset eta Checkout ulertzeko Giten fitxategien egoerak eta haien arteko +trantsizioak ondo ulertu behar dira. Hiru egoera posible daude: + +1. HEAD: repositorioaren azkeneko commitaren snapshota +2. Index: *staging area*, hurrengo commitaren proposamena +3. Working Directory: Aldaketak egiten ditugun lekua + +![Egoren arteko trantsizioak](img/reset-workflow.png){height=150px} + +## Reset eta checkout sakonki — II + +- `git reset`-ek hiru modu ditu: + - `--soft`: HEAD-ak apuntatzen duen adarra mugitu + - `--mixed`: `--soft` + aldaketak indexera pasatu + - `--hard`: `--mixed` + aldaketak working direktory-ra pasatu, bertako + aldaketak zapalduz + + +## Reset eta checkout sakonki — III + +![ ](img/reset-ex1.png) + +## Reset eta checkout sakonki — IV + +![ ](img/reset-ex2.png) + +## Reset eta checkout sakonki — V + +![ ](img/reset-ex3.png) + +## Reset eta checkout sakonki — VI + +![ ](img/reset-ex4.png) + +## Reset eta checkout sakonki — VII + +![ ](img/reset-ex5.png) + +## Reset eta checkout sakonki — VIII + +![ ](img/reset-ex6.png) + +## Reset eta checkout sakonki — IX + +![Commit gehiago gehituta](img/reset-start.png) + +## Reset eta checkout sakonki — IX + +![ ](img/reset-soft.png) + +## Reset eta checkout sakonki — X + +![ ](img/reset-mixed.png) + +## Reset eta checkout sakonki — XI + +![ ](img/reset-hard.png) -- cgit v1.2.3