Slide 1

Slide 1 text

GIT RESET ࠓ౓ͦ͜ཧղ͢Δ 2020.08.22 FJORD BOOT CAMP LTձ

Slide 2

Slide 2 text

ൃද಺༰ GIT RESET ▸ git reset ͷಈ͖ ▸ ——softɺ——hardɺΦϓγϣϯলུʢ——mixedʣ ▸ HEAD ͱ͸ ▸ ΠϯσοΫεͱ͸ ࠓ౓ͦ͜ཧղ͢Δ

Slide 3

Slide 3 text

ࣗݾ঺հ @masuyama13 ‣ ڈ೥12݄ʙ FjordBootCamp ࢀՃ ‣ ݱࡏͷϓϥΫςΟε ‣ ΦϒδΣΫτࢦ޲ϓϩάϥϛϯά ‣ ݩࢢ໾ॴ৬һʢࣄ຿ʣ ‣ ࣛࣇౡग़਎ https://masuyama13.hatenablog.com/ 4݄͔Βຖ೔ϒϩάߋ৽தʂ

Slide 4

Slide 4 text

ݱࡏͷ HEAD Λࢦఆ͞Εͨ ঢ়ଶʹ໭͢ɻ git reset Reset current HEAD to the specified state

Slide 5

Slide 5 text

HEAD Λ໭͢ git reset —-softɹHEAD ͚ͩ໭͢ [—-mixed]ɹΠϯσοΫε΋໭͢ —-hardɹΠϯσοΫεͱϫʔΫπϦʔ΋໭͢

Slide 6

Slide 6 text

ϫʔΫπϦʔ git commit git add ϦϙδτϦ master A A A touch A ϒϥϯνɿ ɾಛఆͷίϛοτΛࢦࣔ͢͠ϙΠϯλ ɾσϑΥϧτ͕ master ɾ࠷ॳͷίϛοτΛͨ࣌͠఺Ͱൃੜ ɾࢬ෼͔Εͷઌ୺ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ ίϛοτ༧ఆͷ΋ͷΛొ࿥͢Δ৔ॴ ϑΝΠϧฤूͳͲΛߦ͏࡞ۀ৔ॴ ʮίϛοτʯ ͕Ͱ͖Δ

Slide 7

Slide 7 text

ϦϙδτϦ ϫʔΫπϦʔ git commit git add HEAD master ɾݱࡏͷϒϥϯνΛࢦࣔ͢͠ϙΠϯλ ɾ࣍ͷίϛοτͷ਌ʹͳΔ A A A ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ ίϛοτ༧ఆͷ΋ͷΛొ࿥͢Δ৔ॴ ϑΝΠϧฤूͳͲΛߦ͏࡞ۀ৔ॴ ʮίϛοτʯ ͕Ͱ͖Δ

Slide 8

Slide 8 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A HEAD master HEAD master A A A git commit git add ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 9

Slide 9 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A HEAD master A A A git commit git add git commit git add B B B A A A C C C HEAD master ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 10

Slide 10 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A A A A git commit git add git commit git add B B B A A A C C C HEAD master ͜ͷίϛοτऔΓফ͍ͨ͠ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 11

Slide 11 text

HEAD Λ໭͢ git reset —-softɹHEAD ͚ͩ໭͢ [—-mixed]ɹΠϯσοΫε΋໭͢ —-hardɹΠϯσοΫεͱϫʔΫπϦʔ΋໭͢

Slide 12

Slide 12 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A A A A git commit git add git commit git add B B B A A A C C C HEAD master HEAD master औΓফ͢ git reset —-soft HEAD~ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 13

Slide 13 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A A A A git commit git add git commit git add B B B A A A C C C HEAD master HEAD master औΓফ͢ git reset HEAD~ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 14

Slide 14 text

ϫʔΫπϦʔ ϦϙδτϦ git commit git add B B B A A A A A A git commit git add git commit git add B B B A A A C C C HEAD master HEAD master औΓফ͢ git reset —-hard HEAD~ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 15

Slide 15 text

݁ߏ୯७ʁ

Slide 16

Slide 16 text

ΠϯσοΫε ͬͯԿʁ ʢεςʔδϯάΤϦΞʣ ίϛοτ͢Δલʹొ࿥͠ͳ͍ͱ ͍͚ͳ͍৔ॴɾɾɾ ਖ਼௚ɺਂ͘ߟ͑ͨ͜ͱͳ͍

Slide 17

Slide 17 text

git commit ϫʔΫπϦʔ ϦϙδτϦ git add B B B A A A A A git commit git add HEAD master HEAD master ࠩ෼͚ͩ צҧ͍ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 18

Slide 18 text

git commit ϫʔΫπϦʔ ϦϙδτϦ git add B B B A A A A A git commit git add git commit git add B B A A C C C HEAD master HEAD master ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 19

Slide 19 text

git commit ϫʔΫπϦʔ ϦϙδτϦ git add B B B A A A A A git commit git add git commit git add B B A A C C C HEAD master HEAD master git reset —-soft HEAD~2 औΓফ͢ B͸ΠϯσοΫε͔Β ফ͑ͪΌ͏!? ˞ޡΓͰ͢ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 20

Slide 20 text

ϫʔΫπϦʔ git commit git add ϦϙδτϦ HEAD master A A A ࣍ͷίϛοτͷεφοϓγϣοτ εφοϓγϣοτɿ ؙ͝ͱίϐʔͨ͠΋ͷ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 21

Slide 21 text

ϫʔΫπϦʔ git add A A ࣍ͷίϛοτͷεφοϓγϣοτ εφοϓγϣοτɿ ؙ͝ͱίϐʔͨ͠΋ͷ git ls-files ΠϯσοΫεʹ͋ΔϑΝΠϧͷϦετΛදࣔ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 22

Slide 22 text

ϫʔΫπϦʔ ϦϙδτϦ ʁʁʁ git add B A A A A git commit git add git ls-files HEAD master ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ A B

Slide 23

Slide 23 text

git commit ϫʔΫπϦʔ ϦϙδτϦ git add B B B A A A A A A git commit git add git commit git add B B B A A A C C C HEAD master HEAD master git reset —-soft HEAD~2 औΓফ͢ ΠϯσοΫε ʢεςʔδϯάΤϦΞʣ

Slide 24

Slide 24 text

ࠓ౓ͦ͜ཧղ͢Δ GIT RESET ·ͱΊ —-softɹHEAD ͚ͩ໭͢ [—-mixed]ɹHEAD ͱΠϯσοΫεΛ໭͢ —-hardɹHEAD ͱΠϯσοΫεͱϫʔΫπϦʔΛ໭͢ git reset ࠩ෼Ͱ͸ͳ͘ɺίϛοτީิΛؙ͝ͱίϐʔͨ͠΋ͷ ͕อଘ͞Ε͍ͯΔ ΠϯσοΫεʢεςʔδϯάΤϦΞʣ

Slide 25

Slide 25 text

ࠓ౓ͦ͜ཧղ͢Δ GIT RESET ࢀߟࢿྉ ▸ Git ▸ https://git-scm.com/ ▸ αϧઌੜͷGitೖ໳ ▸ https://backlog.com/ja/git-tutorial/ ▸ GitͷεςʔδϯάྖҬͷਖ਼ମΛ୳Δ | ϝϧΧϦΤϯδχΞϦϯά ▸ https://engineering.mercari.com/blog/entry/2017-04-06-171430/ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠