Slide 1

Slide 1 text

pull commit merge checkout branch stash push add diff status log reset revert rebase rm stash commit diff merge log add checkout pull push commit ޿ౡϑϩϯτΤϯυษڧձ7PM ʰ͜Ε͔Β͸͡ΊΔ(JUʱ

Slide 2

Slide 2 text

ର৅ • Gitͬͯͳʹʁ • Git࢖ͬͯΔ͚Ͳɺ͏·͘࢖͑ͯΔ͔Θ͔Βͳ͍ • GitΛGUIͰ࢖͍ͬͯΔ͕ཪͰԿ͕͓͖ͯΔ͔Θ͔Βͳ͍ • ίϯϑϦΫτ͕ى͖ͨ࣌ʹͲ͏͍͍͔ͯ͠Θ͔Βͳ͍

Slide 3

Slide 3 text

ϑΝΠϧͷ؅ཧͲ͏ͯ͠·͔͢ʁ

Slide 4

Slide 4 text

Α͋͘ΔϑΝΠϧͷ؅ཧ ఏҊॻ.txt ఏҊॻ2.txt ৽ఏҊॻ.txt ఏҊॻ20220521.txt ఏҊॻ20220521-2.txt γϯɾఏҊॻ.txt

Slide 5

Slide 5 text

ͲΕ͕࠷৽͔Θ͔Βͳ͍ ͍ͭɺ୭͕ɺͲ͜Λهड़͠ํΘ͔Βͳ͍

Slide 6

Slide 6 text

ͦΜͳͱ͖Git͕͋Ε͹

Slide 7

Slide 7 text

Gitͱ͸

Slide 8

Slide 8 text

Gitͱ͸ • ιʔείʔυͳͲͷมߋཤྺΛه࿥ɾ௥੻͢ΔͨΊͷ෼ࢄܕ όʔδϣϯ؅ཧγεςϜ • LinuxΧʔωϧͷιʔείʔυ؅ཧ༻ʹϦʔφεɾτʔόϧζ ʹΑͬͯ։ൃ͞Εͨɻ

Slide 9

Slide 9 text

GitͷϝϦοτ • มߋͷཤྺ • ࠩ෼ͷൺֱ • ཤྺ͔Βͷ෮ݩ • ෳ਺ͷมߋΛ౷߹ ఏҊॻΛ࡞੒ ϓϥϯ1Λ௥Ճ ϓϥϯ1ͷݟੵ΋ΓΛ௥Ճ ϓϥϯ2Λ௥Ճ ϓϥϯ1Λमਖ਼ ϓϥϯ2ͷݟੵ΋ΓΛ௥Ճ ϓϥϯ1ͷݟੵ΋ΓΛमਖ਼ 2022.05.21 15:25 2022.05.20 22:46 2022.05.20 20:10 2022.05.19 10:43 2022.05.19 16:08 2022.05.18 19:27 2022.05.18 10:00 Ҫ্ ࡔຊ Ҫ্ ࡔຊ Ҫ্ Ҫ্ Ҫ্

Slide 10

Slide 10 text

ετʔϦʔʹԊͬͯ GitͷίϚϯυ૯෮श

Slide 11

Slide 11 text

͔͜͜Βͷૢ࡞͸

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

ίϚϯυϓϩϯϓτɺλʔϛφϧ౳

Slide 14

Slide 14 text

·ͣ͸GitΛ࢖͏४උ

Slide 15

Slide 15 text

$ git con fi g --global user.name "XXXX" • Ϣʔβʔ໊Λઃఆ͢Δ • ୭͕ίϛοτͨ͠΋ͷ͔Θ͔ΔΑ͏ʹ $ git con fi g --global user.email "[email protected]" • ϝʔϧΞυϨεΛઃఆ͢Δ • SaaSͰ͸ϝʔϧΞυϨεʹඥ͍ͮͯΞΠίϯͳͲ͕දࣔ͞ΕΔ

Slide 16

Slide 16 text

ϓϩδΣΫτͷσΟϨΫτϦΛ࡞Γ·͢ $ mkdir git-project $ cd git-project

Slide 17

Slide 17 text

index.htmlΛ࡞੒͠·͢ index JOEFYIUNM

Slide 18

Slide 18 text

Ͱ͸ɺϦϙδτϦͷॳظԽΛ͠·͠ΐ͏

Slide 19

Slide 19 text

ϦϙδτϦͱ͸ • ϑΝΠϧ΍σΟϨΫτϦͷঢ়ଶΛه࿥͢Δ৔ॴ • อଘ͞Εͨঢ়ଶ͸ɺ಺༰ͷมߋཤྺͱͯ֨͠ೲ͞ΕΔ ϦϞʔτϦϙδτϦ • ઐ༻ͷαʔόʹ഑ஔͯ͠ෳ਺ਓͰڞ༗͢ΔͨΊͷϦϙδτϦ ϩʔΧϧϦϙδτϦ • ݸʑਓͷϩʔΧϧ؀ڥʹ͋ΔϦϙδτϦ

Slide 20

Slide 20 text

ϦϞʔτϦϙδτϦ ϩʔΧϧϦϙδτϦ ϩʔΧϧϦϙδτϦ ϩʔΧϧϦϙδτϦ

Slide 21

Slide 21 text

$ git init • GitͷͰϦϙδτϦΛ࡞੒͢Δढจ • طଘͷϓϩδΣΫτΛGitϦϙδτϦʹม׵͢Δ • ۭͷ৽نϦϙδτϦΛ࡞੒ͯ͠ॳظԽ͢Δ • init͢Δͱ.git͕࡞੒͞ΕΔ 
 ※ফ͢ͱࢮ͵

Slide 22

Slide 22 text

੍࡞ͨ͠index.htmlͷมߋΛొ࿥͠Α͏

Slide 23

Slide 23 text

$ git add • ίϛοτର৅ϑΝΠϧΛΠϯσοΫεʹొ࿥͢Δ • ݸʑͷϑΝΠϧͷΞοϓσʔτ಺༰Λ࣍ճίϛοτର৅ʹ͢Δ

Slide 24

Slide 24 text

$ git add . • ݱࡏͷϫʔΩϯάπϦʔΛશͯΠϯσοΫεʹొ࿥͢Δ $ git add index.html • ಛఆͷϑΝΠϧΛࢦఆ͢Δ͜ͱ΋Ͱ͖Δ

Slide 25

Slide 25 text

ϦϙδτϦͷঢ়ଶΛݟͯΈΑ͏

Slide 26

Slide 26 text

$ git status • ϫʔΩϯάπϦʔʹ͋ΔϑΝΠϧͷঢ়ଶΛදࣔ͢Δ On branch main No commits yet Changes to be committed: (use "git rm --cached < fi le>..." to unstage) new fi le: index.html

Slide 27

Slide 27 text

On branch main No commits yet Changes to be committed: (use "git rm --cached < fi le>..." to unstage) new fi le: index.html Untracked fi les: (use "git add < fi le>..." to include in what will be committed) index2.html addͯ͠ͳ͍ϑΝΠϧ͕͋Δ৔߹

Slide 28

Slide 28 text

$ git status -s • γϣʔτϑΥʔϚοτͰදࣔ M index.html M index2.html

Slide 29

Slide 29 text

$ git status -sb • γϣʔτϑΥʔϚοτͰ΋ϒϥϯνͱ௥੻৘ใΛදࣔ ## main M index.html M index2.html

Slide 30

Slide 30 text

ΠϯσοΫεͨ͠มߋΛ ϦϙδτϦʹొ࿥ͯ͠ΈΑ͏

Slide 31

Slide 31 text

$ git commit • ΠϯσοΫεʹ௥Ճͨ͠มߋΛϦϙδτϦʹอଘ͢Δ

Slide 32

Slide 32 text

ʲ͜͜ʹϝοηʔδΛॻ͘ʳ # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch main # # Initial commit # # Changes to be committed: # new fi le: index.html ίϛοτϝοηʔδΛೖྗ͢Δը໘͕։͘ viͷૢ࡞͕ඞཁɻΠϯαʔτϞʔυ͸ʮiʯɺίϚϯυϞʔυ͸ʮescʯɺอଘ͸ίϚϯυϞʔυͰʮ:wqʯɺอଘͤͣด͡Δ৔߹͸ʮ:q!ʯ

Slide 33

Slide 33 text

$ git commit -m “index.htmlΛ௥Ճ” • -mΦϓγϣϯ • ॻ͔ΕͨςΩετΛίϛοτϝοηʔδͱͯ͠࢖༻͢Δ

Slide 34

Slide 34 text

ΠϯσοΫεɾϫʔΩϯάπϦʔɾHEADͱ͸ ϫʔΩϯάπϦʔ • Ϣʔβʔ͕࡞ۀதͷϑΝΠϧ͕͋Δ৔ॴ ΠϯσοΫε • ίϛοτର৅ϑΝΠϧΛొ࿥͢Δ৔ॴ HEAD • ϦϙδτϦͷ࠷৽ίϛοτΛࣔࣝ͢ผࢠ

Slide 35

Slide 35 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"%

Slide 36

Slide 36 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% ϑΝΠϧͷมߋ

Slide 37

Slide 37 text

A B C ΠϯσοΫε )&"% ϫʔΩϯάπϦʔ ϑΝΠϧͷมߋ

Slide 38

Slide 38 text

A B C ΠϯσοΫε )&"% ϫʔΩϯάπϦʔ git add

Slide 39

Slide 39 text

A B C )&"% ϫʔΩϯάπϦʔ ΠϯσοΫε git add

Slide 40

Slide 40 text

A B C )&"% ϫʔΩϯάπϦʔ ΠϯσοΫε git commit

Slide 41

Slide 41 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git commit

Slide 42

Slide 42 text

ίϛοτͰ͖͔ͨݟͯΈΑ͏

Slide 43

Slide 43 text

$ git log • ίϛοτϩάΛදࣔ͢Δ commit 6f0165b3aa719d4ede12ade9d61e3b491d0c795d (HEAD -> main) Author: XXXX Date: Sun May 15 00:00:24 2022 +0900 “index.htmlΛ௥Ճ”

Slide 44

Slide 44 text

index.htmlʹh1Λ௥Ճ index

index

JOEFYIUNM

Slide 45

Slide 45 text

มߋΛίϛοτ͠·͠ΐ͏ $ git add index.html $ git commit -m “h2Λ௥Ճ”

Slide 46

Slide 46 text

͓ͬͱɺίϛοτϝοηʔδΛؒҧ͑ͨ

Slide 47

Slide 47 text

$ git log $ git log commit 6156b13a243e2121ef0f054316915795b22e5ded (HEAD -> main) Author: XXXX Date: Sun May 15 00:15:34 2022 +0900 h2Λ௥Ճ commit 6f0165b3aa719d4ede12ade9d61e3b491d0c795d Author: XXXX Date: Sun May 15 00:00:24 2022 +0900 “index.htmlΛ௥Ճ”

Slide 48

Slide 48 text

$ git commit --amend • ௚લͷίϛοτΛमਖ਼͢Δ • git commitͱಉ͡Α͏ͳը໘͕։͘ h2Λ௥Ճ # Date: Fri May 13 23:13:05 2022 # # On branch main # Changes to be committed: # modi fi ed: index.html h1Λ௥Ճ # Date: Fri May 13 23:13:05 2022 # # On branch main # Changes to be committed: # modi fi ed: index.html

Slide 49

Slide 49 text

$ git commit —amend -m “h1Λ௥Ճ” • commitͱҰॹͰ-mΛ͚ͭΔͱίϛοτϝοηʔδΛ 
 ্ॻ͖Ͱ͖Δ

Slide 50

Slide 50 text

$ git log $ git log commit 6156b13a243e2121ef0f054316915795b22e5ded (HEAD -> main) Author: XXXX Date: Sun May 15 00:15:34 2022 +0900 h1Λ௥Ճ commit 6f0165b3aa719d4ede12ade9d61e3b491d0c795d Author: XXXX Date: Sun May 15 00:00:24 2022 +0900 “index.htmlΛ௥Ճ”

Slide 51

Slide 51 text

index2.htmlͱindex3.htmlΛ࡞੒͠·͢ $ cp index.html index2.html $ cp index.html index3.html

Slide 52

Slide 52 text

ίϐʔͨ͠ϑΝΠϧΛadd͢Δ $ git add . $ git status -sb ## main A index2.html A index3.html

Slide 53

Slide 53 text

1ϑΝΠϧͣͭίϛοτ͔ͨͬͨ͠

Slide 54

Slide 54 text

$ git reset • ΠϯσοΫε͔Βશͯ࡟আ͢Δ • ϫʔΩϯάπϦʔ͸ӨڹΛड͚ͳ͍(มߋ͸ফ͑ͳ͍) $ git reset index3.html • ಛఆͷϑΝΠϧΛΠϯσοΫε͔Β࡟আ͢Δ

Slide 55

Slide 55 text

ΠϯσοΫε͔Βindex3.htmlΛ࡟আ͢Δ $ git reset index3.html $ git status -sb ## main A index2.html ?? index3.html

Slide 56

Slide 56 text

index2.htmlΛίϛοτ $ git commit -m “index2.htmlΛ௥Ճ”

Slide 57

Slide 57 text

index3.htmlΛίϛοτ $ git add . $ git commit -m “index3.htmlΛ௥Ճ”

Slide 58

Slide 58 text

index2.htmlʹ௥ه

Slide 59

Slide 59 text

index2.htmlʹ௥ه index3

index3

JOEFYIUNM

Slide 60

Slide 60 text

index2.htmlΛίϛοτ $ git add . $ git commit -m “index2.htmlʹ௥ه”

Slide 61

Slide 61 text

͓ͬͱɺindex2.htmlͳͷʹ index3ͱ௥هͯ͠͠·ͬͨ

Slide 62

Slide 62 text

$ git reset ʲΦϓγϣϯʳ ʲίϛοτIDʳ • HEADͷҐஔɾΠϯσοΫεɾϫʔΩϯάπϦʔΛ 
 ͲΕ͔·ͨ͸શͯΛʲίϛοτIDʳ·Ͱ໭͢

Slide 63

Slide 63 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git reset --hard A

Slide 64

Slide 64 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git reset --hard A

Slide 65

Slide 65 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git reset --mixed A

Slide 66

Slide 66 text

A B C ϫʔΩϯάπϦʔ git reset --mixed A ΠϯσοΫε )&"%

Slide 67

Slide 67 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git reset --soft A

Slide 68

Slide 68 text

A B C ϫʔΩϯάπϦʔ ΠϯσοΫε )&"% git reset --soft A

Slide 69

Slide 69 text

$ git reset • ΠϯσοΫε͔Βશͯ࡟আ͢Δ • ϫʔΩϯάπϦʔ͸ӨڹΛड͚ͳ͍(มߋ͸ফ͑ͳ͍) $ git reset index3.html • ಛఆͷϑΝΠϧΛΠϯσοΫε͔Β࡟আ͢Δ $ git reset --mixed HEAD

Slide 70

Slide 70 text

໭͢஍఺ͷίϛοτIDΛௐ΂Δ

Slide 71

Slide 71 text

$ git log $ git log commit 6156b13a243e2121ef0f054316915795b22e5ded (HEAD -> main) Author: XXXX Date: Sun May 15 00:15:34 2022 +0900 index2.htmlʹ௥ه commit 6f0165b3aa719d4ede12ade9d61e3b491d0c795d Author: XXXX Date: Sun May 15 00:00:24 2022 +0900 index3.htmlΛ௥Ճ

Slide 72

Slide 72 text

$ git reset --mixed 6f0165b3aa719(ུ) • 6f0165b3aa719(ུ)·ͰɺΠϯσοΫεɺHEADΛ໭͢ • มߋ͸ͦͷ··

Slide 73

Slide 73 text

࠶౓index2.htmlʹ௥ه index2

index2

JOEFYIUNM

Slide 74

Slide 74 text

࠶౓index2.htmlΛίϛοτ $ git add . $ git commit -m “index2.htmlʹͪΌΜͱ௥ه”

Slide 75

Slide 75 text

index.htmlΛߋ৽ͭͭ͠ɺ index2.htmlͰ࣮ݧ͍ͨ͠

Slide 76

Slide 76 text

$ git branch dev • ຊྲྀ͔Β෼ذ͠ɺຊྲྀͷ։ൃΛअຐ͢Δ͜ͱͳ͘࡞ۀΛଓ͚Δػೳ A B C main

Slide 77

Slide 77 text

$ git branch dev • ຊྲྀ͔Β෼ذ͠ɺຊྲྀͷ։ൃΛअຐ͢Δ͜ͱͳ͘࡞ۀΛଓ͚Δػೳ A B C D main dev

Slide 78

Slide 78 text

ϒϥϯνͱ͸ • ཤྺΛࢬ෼͔Εͤͯ͞ه࿥͍ͯ͘͠ • ϒϥϯνͰͷมߋ͸౷߹͞ΕΔ·ͰଞϒϥϯνʹӨڹ͠ͳ͍͠ ͞Εͳ͍ A B C D main dev

Slide 79

Slide 79 text

͜Ε͚ͩͩͱdevϒϥϯνΛ ࡞͚ͬͨͩͳͷͰɺ devϒϥϯνʹҠಈͯ͠࡞ۀ͢Δ

Slide 80

Slide 80 text

$ git switch dev • ࢦఆ͞Εͨϒϥϯνʹ੾Γସ͑Δ A B C D main dev ࡞ۀϒϥϯν

Slide 81

Slide 81 text

$ git switch dev • ࢦఆ͞Εͨϒϥϯνʹ੾Γସ͑Δ A B C D main dev ࡞ۀϒϥϯν

Slide 82

Slide 82 text

$ git switch -c dev • ϒϥϯνΛ࡞੒ͯ͠Ҡಈ͢Δ A B C main ࡞ۀϒϥϯν

Slide 83

Slide 83 text

$ git switch -c dev • ϒϥϯνΛ࡞੒ͯ͠Ҡಈ͢Δ A B C D main dev ࡞ۀϒϥϯν

Slide 84

Slide 84 text

index.htmlʹpΛ௥Ճ index

index

Hello index

JOEFYIUNM

Slide 85

Slide 85 text

index.htmlΛίϛοτ $ git add . $ git commit -m “pΛ௥ه”

Slide 86

Slide 86 text

࣮ݧ͸੒ޭͨ͠ͷͰɺ ݩͷϒϥϯνʹ΋มߋΛదԠͤ͞Α͏

Slide 87

Slide 87 text

$ git merge dev • ಠཱͨ͠ෳ਺ͷϒϥϯνΛͻͱͭͷϒϥϯνʹ౷߹͢Δ • ݱࡏͷϒϥϯν΁ͷϚʔδΛߦ͏ • ผͷϒϥϯνͷมߋΛϚʔδ͞Εͨଆͷཤྺʹ࣋ͬͯ͘Δ͜ͱΛ fast-forward(ૣૹΓ)ϚʔδͱݺͿ A B C main dev

Slide 88

Slide 88 text

$ git merge dev • ಠཱͨ͠ෳ਺ͷϒϥϯνΛͻͱͭͷϒϥϯνʹ౷߹͢Δ • ݱࡏͷϒϥϯν΁ͷϚʔδΛߦ͏ • ผͷϒϥϯνͷมߋΛϚʔδ͞Εͨଆͷཤྺʹ࣋ͬͯ͘Δ͜ͱΛ fast-forward(ૣૹΓ)ϚʔδͱݺͿ A B C main dev

Slide 89

Slide 89 text

$ git merge --no-ff dev • no-ffΦϓγϣϯΛ͚ͭΔ͜ͱͰɺ͋͑ͯfast-forward(ૣૹΓ) ϚʔδΛͤͣɺϚʔδͨ͠ཤྺΛ࢒͢ A B C main dev D Ϛʔδίϛοτ

Slide 90

Slide 90 text

A B D C main dev E Ϛʔδ͞ΕΔଆͷϒϥϯνʹ΋มߋ͕͋ͬ ͨ৔߹͸ɺϚʔδίϛοτ͕࡞ΒΕΔ Ϛʔδίϛοτ

Slide 91

Slide 91 text

devΛmainʹϚʔδ $ git switch main $ git merge --no-ff dev

Slide 92

Slide 92 text

index.htmlΛݟͯΈΔͱ devͰߦͬͨมߋ͕దԠ͞Ε͍ͯΔ index

index

Hello index

JOEFYIUNM

Slide 93

Slide 93 text

͜͜Ͱ৽ͨͳϝϯόʔ͕δϣΠϯ͠·ͨ͠

Slide 94

Slide 94 text

ͯ͞ɺͲ͏΍ͬͯσʔλΛڞ༗͠Α͏

Slide 95

Slide 95 text

ͯ͞ɺͲ͏΍ͬͯσʔλΛڞ༗͠Α͏

Slide 96

Slide 96 text

ϦϞʔτϦϙδτϦ ϩʔΧϧϦϙδτϦ ϩʔΧϧϦϙδτϦ ϩʔΧϧϦϙδτϦ

Slide 97

Slide 97 text

No content

Slide 98

Slide 98 text

ϦϞʔτϦϙδτϦΛ࡞ͬͨΒɺ ཤྺΛૹΓ·͠ΐ͏

Slide 99

Slide 99 text

ϦϙδτϦʹϦϞʔτϦϙδτϦΛ ௥Ճ͠·͠ΐ͏

Slide 100

Slide 100 text

$ git remote • ଞͷϦϙδτϦͱͷ઀ଓͷ࡞੒ɺ಺༰֬ೝɺ࡟আΛߦ͏ $ git remote add ʲ໊લʳʲϦϙδτϦͷURLʳ • ໊લ͸೚ҙ • γϣʔτΧοτ໊ͷΑ͏ʹ࢖͏

Slide 101

Slide 101 text

ϦϞʔτϦϙδτϦΛొ࿥ $ git remote add origin [email protected]:XXX/git- project.git

Slide 102

Slide 102 text

ϦϞʔτϦϙδτϦʹ ཤྺΛૹΓ·͠ΐ͏

Slide 103

Slide 103 text

$ git push • ϦϞʔτϦϙδτϦ΁ͷॻ͖ࠐΈΛߦ͏ $ git pushʲ໊લʳʲϒϥϯν໊ʳ • ໊લ͸git remote add ͨ࣌͠ʹ໊͚ͭͨલ • ೚ҙͷϒϥϯνͷΈpushͰ͖Δ

Slide 104

Slide 104 text

ϦϞʔτϦϙδτϦʹཤྺΛૹΔ $ git push -u origin main

Slide 105

Slide 105 text

$ git push -u origin main • -uΦϓγϣϯ • --set-upstreamͱಉҙ • ଞͷϒϥϯν͸mainϒϥϯν͔Β෼ذ(্ྲྀϒϥϯν)ͱͯ͠ઃఆ ͢Δ $ git push

Slide 106

Slide 106 text

νʔϜʹՃΘͬͨਓ͸ϦϞʔτϦϙδτϦ ͔Β࠷৽ͷཤྺΛऔ͖ͬͯ·͢ɻ

Slide 107

Slide 107 text

$ git clone • ϦϙδτϦͷΫϩʔϯΛ࡞੒͢Δ

Slide 108

Slide 108 text

ϩʔΧϧʹϦϞʔτϦϙδτϦͷ ΫϩʔϯΛ࡞੒͢Δ $ git clone https://github.com/XXX/ git-project.git

Slide 109

Slide 109 text

CSSΛಡΜͰͳ͍ͷͰಡΈࠐ΋͏ index

index

Hello index

JOEFYIUNM

Slide 110

Slide 110 text

index.htmlΛίϛοτ $ git add . $ git commit -m “CSSΛಡΈࠐΈ” $ git push

Slide 111

Slide 111 text

Ұํͦͷ͜Ζ

Slide 112

Slide 112 text

λΠτϧΛमਖ਼͠Α͏ Hello index

index

Hello index

JOEFYIUNM

Slide 113

Slide 113 text

index.htmlΛίϛοτ $ git add . $ git commit -m “λΠτϧΛฤू”

Slide 114

Slide 114 text

มߋ͕͋ͬͨΒ͍͠ͷͰ ࠷৽Λམͱͯ͜͠Α͏

Slide 115

Slide 115 text

$ git pull • ϦϞʔτϦϙδτϦߋ৽ࠩ෼ΛϩʔΧϧϦϙδτϦʹ࣋ͬͯ͘Δ warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git con fi g pull.rebase false # merge (the default strategy) git con fi g pull.rebase true # rebase git con fi g pull.ff only # fast-forward only Git2.27.0͔Β git pull ͚ͩͩͱ Warning͕ग़ΔΑ͏ʹͳΓ·ͨ͠

Slide 116

Slide 116 text

$ git pull

Slide 117

Slide 117 text

Auto-merging index.html CONFLICT (content): Merge con fl ict in index.html Automatic merge failed; fi x con fl icts and then commit the result.

Slide 118

Slide 118 text

ίϯϑϦΫτͱ͸ • 2ͭͷϒϥϯνΛ౷߹͢Δ৔߹ʹ͸ɺίϯϑϦΫτ͕ى͜Δ৔ ߹͕͋Δ • Ϛʔδ͢Δࡍʹ྆ํͷϒϥϯνͰಉ͡ߦΛฤू͍ͯ͠Δ৔߹͸ ίϯϑϦΫτ͕ൃੜ͢ΔͨΊɺGit͸ࣗಈతʹϚʔδΛͤͣʹ ։ൃऀࣗ਎ʹίϯϑϦΫτͷղফΛٻΊΔ

Slide 119

Slide 119 text

3 4 5 <<<<<<< HEAD 6 7 index 8 ======= 9 10 Hello index 11 >>>>>>> 3be019ca9aeae74f4f3b876e8d9c7b61e5ba9902 12 JOEFYIUNM

Slide 120

Slide 120 text

3 4 5 6 Hello index 7 JOEFYIUNM

Slide 121

Slide 121 text

ίϯϑϦΫτ͕ղফͨ͠Β ίϛοτ͠Α͏ $ git add . $ git commit Merge branch 'dev' of github.com:takanashi66/git-project into dev # Con fl icts: # index.html # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again.

Slide 122

Slide 122 text

߄ͯͣରॲ͠Α͏

Slide 123

Slide 123 text

pullͯ͘͠Δલʹ֬ೝ΋Ͱ͖Δ

Slide 124

Slide 124 text

$ git fetch • ϦϞʔτϦϙδτϦͷ࠷৽ͷཤྺͷऔಘ͚ͩΛߦ͏ • ͜ͷͱ͖ϩʔΧϧϦϙδτϦʹࠩ෼͸దԠ͞Εͳ͍ • ίϛοτ͸ɺ໊લͷແ͍ϒϥϯνͱͯ͠औΓࠐ·ΕΔ • FETCH_HEADͱ͍͏໊લͰ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ A B C D dev FETCH_HEA

Slide 125

Slide 125 text

$ git diff FETCH_HEAD • 2 ͭͷσʔλΛऔಘͯͦ͠ΕΒͷมߋΛൺֱ͢Δ • ର৅ͷσʔλ͸ίϛοτɺϒϥϯνɺϑΝΠϧͳͲ

Slide 126

Slide 126 text

diff --git a/index.html b/index.html index 12f6444..84a776d 100644 --- a/index.html +++ b/index.html @@ -2,8 +2,8 @@ - - index + + Hello index

index

Slide 127

Slide 127 text

ࠓճ঺հͰ͖ͳ͔ͬͨίϚϯυ

Slide 128

Slide 128 text

$ git show • 1ͭҎ্ͷΦϒδΣΫτʢϒϩϒɺπϦʔɺλάɺ͓ΑͼίϛοτʣΛදࣔ $ git revert • ίϛοτʹΑͬͯՃ͑ΒΕͨมߋΛଧͪফ͢

Slide 129

Slide 129 text

$ git stash • ϫʔΩϯάπϦʔͷ಺༰ΛҰ࣌తʹୀආ͢Δ $ git stash save “ϝοηʔδ” • ϫʔΩϯάπϦʔͷ಺༰ΛϝοηʔδΛ͚ͭͯҰ࣌తʹୀආ͢Δ $ git stash pop • Ұ࣌తʹୀආͨ͠มߋΛϫʔΩϯάπϦʔʹదԠ͢Δ and more …

Slide 130

Slide 130 text

·ͱΊ

Slide 131

Slide 131 text

·ͱΊ • ·ͣ͸ɺ͜ΜͳίϚϯυ͕͋ΔΜͩͱ஌Δ͜ͱ͕େࣄ • εϥΠυ͸ޙ೔ެ։͠·͢ • ࣍͸࣮ࡍʹखಈ͔ͯ͠Έ͍ͯͩ͘͞

Slide 132

Slide 132 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 133

Slide 133 text

͓·͚ git reset --hardͰ໭Γ͗ͯ͢͠·ͬͨ৔߹ͷରॲ๏ * 27561a6 - (HEAD -> main) add p (30 seconds ago) * 831a227 - add h1 (75 seconds ago) * dbe6a2b - add index (2 minutes ago) ͜͜·Ͱ໭Γ͍ͨ

Slide 134

Slide 134 text

͓·͚ git reset --hardͰ໭Γ͗ͯ͢͠·ͬͨ৔߹ͷରॲ๏ * 27561a6 - (HEAD -> main) add p (30 seconds ago) * 831a227 - add h1 (75 seconds ago) * dbe6a2b - add index (2 minutes ago) ؒҧͬͯͬͪ͜Λ ࢦఆͯ͠͠·ͬͨ $ git reset --hard dbe6a2b

Slide 135

Slide 135 text

͓·͚ git reset --hardͰ໭Γ͗ͯ͢͠·ͬͨ৔߹ͷରॲ๏ * dbe6a2b - add index (2 minutes ago) ໭Γ͗ͯ͢ Ҏ͕߱ফ͑ͯ͠·ͬͨ $ git reset --hard dbe6a2b

Slide 136

Slide 136 text

͓·͚ git reset --hardͰ໭Γ͗ͯ͢͠·ͬͨ৔߹ͷରॲ๏ $ git re fl og -n 4 * dbe6a2b (HEAD -> main) HEAD@{0}: reset: moving to dbe6a2b * 27561a6 HEAD@{1}: commit (amend): add p * 52ab2f9 HEAD@{2}: commit: add h1 * 831a227 HEAD@{3}: commit: add h1 ফ͑ͯ͠·ͬͨ ίϛοτID͕֬ೝͰ͖Δ ࠷ޙͷ4͸೚ҙͷ਺ࣈɺ5ͳΒաڈͷཤྺ͕5ݸݟΕΔ amendͯ͠Δͷ͸ؾʹ͠ͳ͍Ͱ….

Slide 137

Slide 137 text

͓·͚ git reset --hardͰ໭Γ͗ͯ͢͠·ͬͨ৔߹ͷରॲ๏ $ git reset --hard 831a227 * dbe6a2b (HEAD -> main) HEAD@{0}: reset: moving to dbe6a2b * 27561a6 HEAD@{1}: commit (amend): add p * 52ab2f9 HEAD@{2}: commit: add h1 * 831a227 HEAD@{3}: commit: add h1 վΊͯࢦఆͷҐஔ·Ͱreset͢͢Ε͹͍͍