ݱࡏͷ 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~
ΠϯσοΫε
ʢεςʔδϯάΤϦΞʣ
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
औΓফ͢
ΠϯσοΫε
ʢεςʔδϯάΤϦΞʣ