Upgrade to Pro — share decks privately, control downloads, hide ads and more …

卒業研究のためのGit

 卒業研究のためのGit

卒業研究(に限らないけど)でGitを使うための入門

Cf93818d90238aba328645efc40031a4?s=128

Ryuichi KAWAMATA

February 03, 2014
Tweet

Transcript

  1. ଔۀݚڀͷͨΊͷGit @rkmathi

  2. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  3. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  4. ର৅ಡऀ ✤ GitΛ࢖ͬͨ͜ͱ͕ͳ͍৘ใՊֶྨͳͲͷ৽̐೥ੜ! ✤ λʔϛφϧΛ༻ҙͯ͠ɺ࣮ࡍʹ࢖͍ͳ͕ΒಡΉͱ ྑ͍͔΋Ͱ͢! ✤ GitΛ̍ਓͰ࢖͑ΔΑ͏ʹ·ͰͷҰ௨ΓΛ! ✤ ͢Ͱʹ࢖͍͜ͳ͍ͯ͠Δਓ޲͚ͷ಺༰Ͱ͸ͳ͍Ͱ͢

  5. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  6. Gitͱ͸Կͳͷ͔ʢ̍ʣ ✤ GitʢΪοτʣ͸ɺϓϩάϥϜͷιʔείʔυͳͲͷ
 มߋཤྺΛه࿥ɾ௥੻͢ΔͨΊͷ
 ෼ࢄܕόʔδϣϯ؅ཧγεςϜͰ͋Δ(from Wikipedia) ! ✤ ͦ΋ͦ΋όʔδϣϯ؅ཧγεςϜͱ͸Կͳͷ͔ʁ! ✤

    →όʔδϣϯ؅ཧγεςϜͱ͸ɺ
 ίϯϐϡʔλ্Ͱ࡞੒ɺฤू͞ΕΔϑΝΠϧͷ
 มߋཤྺΛ؅ཧ͢ΔͨΊͷγεςϜͰ͋Δ(from Wikipedia)
  7. Gitͱ͸Կͳͷ͔ʢ̎ʣ ✤ ਓ͕͍͍͍֮ؒͪͪ͑ͯΒΕͳ͍ɺ
 ϑΝΠϧͷ࡞੒ɺมߋͳͲͷཤྺΛه࿥ͯ͘͠ΕΔ! ✤ ʮ͜ͷιϑτ΢ΣΞɺ̎೔લ͸ಈ͍͍ͯͨͷʹมߋ͠ ·ͬͨ͘Β͍ͭͷؒʹ͔ಈ͔ͳ͘ͳͬͯ͠·ͬͨ…ʯ! ✤ Ͱ΋ɺҎલͷঢ়ଶʹ໭͢ͷ͸೉͍͠ɻɻɻ! ✤

    Git͕͋Ε͹ָʹ؅ཧͰ͖ΔΑ͏ʹʂ
  8. Gitͱ͸Կͳͷ͔ʢ̏ʣ ˕˕ػೳ͕! ͍ͭͨ! ! ݄̎̍೔ Α͠ɺ˕˕ػೳ͕Ͱ͖ͨͧʂ! ࣍͸☓☓ػೳΛ࣮૷͠Α͏ʂ XXػೳ͕! ͍ͭͨ! !

    ݄̎̏೔ ☓☓ػೳ΋Ͱ͖ͨͧʂ! ࣍͸˛˛ػೳΛ࣮૷͠Α͏ʂ ؒҧ͍ʹ! ؾ͍ͮͨ…! ! ݄̎̑೔ ˕˕ػೳͷؒҧ͍ʹؾ͍ͮͨʂ! ௚͍͚ͨ͠Ͳ̐೔લ͸! Ͳ͏ͳ͍ͬͯͨΜ͚ͩͬ…
  9. Gitͱ͸Կͳͷ͔ʢ̏ʣ ˕˕ػೳ͕! ͍ͭͨ! ! ݄̎̍೔ Α͠ɺ˕˕ػೳ͕Ͱ͖ͨͧʂ! ࣍͸☓☓ػೳΛ࣮૷͠Α͏ʂ XXػೳ͕! ͍ͭͨ! !

    ݄̎̏೔ ☓☓ػೳ΋Ͱ͖ͨͧʂ! ࣍͸˛˛ػೳΛ࣮૷͠Α͏ʂ ؒҧ͍ʹ! ؾ͍ͮͨ…! ! ݄̎̑೔ ˕˕ػೳͷؒҧ͍ʹؾ͍ͮͨʂ! ௚͍͚ͨ͠Ͳ̐೔લ͸! Ͳ͏ͳ͍ͬͯͨΜ͚ͩͬ… ͢΂ͯͷաͪΛੜ·ΕΔલʹফ͠ڈΓ͍ͨ! ! ͢΂ͯͷtypoɺաڈͱະདྷͷ͢΂ͯͷϛεΛ! ! ͜ͷखͰŋŋŋŋŋɻ
  10. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  11. ଔۀݚڀͱGitʢ̍ʣ ✤ ଔۀݚڀʢʹݶΒͳ͍͚ͲʣͰϓϩάϥϜΛॻ͘ͱɺ
 ϛε͕ग़ͯͨΓɺҎલ࣮૷ͨ͠ՕॴΛमਖ਼ͨ͘͠ͳΔ͜ͱ͕͋Δ! ✤ ͜ͷΑ͏ͳঢ়گΛղܾ͢Δʹ͸ɺྫ͑͹! ✤ ϓϩάϥϜ಺ͰίϝϯτΞ΢τ͓ͯ͘͠! ✤ “ϑΝΠϧ໊_೔෇.zip”Έ͍ͨͳόοΫΞοϓΛ࡞Δ!

    ✤ ͱ͍͏ํ๏΋͋Δ͚Ͳɺ΋ͬͱεϚʔτʹղܾ͍ͨ͠…ʂʂ νϥο
  12. ଔۀݚڀͱGitʢ̎ʣ ✤ ϓϩάϥϜ಺ͰίϝϯτΞ΢τ͓ͯ͘͠! ✤ ͜ͷํ๏Λཚ༻͗͢͠Δͱɺιʔείʔτ͕
 ಡΈͮΒ͘ͳͬͯ͠·͏ɻɻɻ! ✤ “ϑΝΠϧ໊_೔෇.zip”Έ͍ͨͳόοΫΞοϓΛ࡞Δ! ✤ ೔෇Ͱ؅ཧ͠Α͏ͱ͢ΔͱɺͲͷ೔ʹ


    ԿΛ͍ͯͨ͠ͷ͔ͷ৘ใ΋ͳ͍ͱҙຯ͕ɻɻɻ νϥνϥο
  13. ଔۀݚڀͱGitʢ̏ʣ ✤ ͱ͍͏͜ͱͰɺ! ✤ ΈΜͳେ޷͖GitΛ࢖ͬͯΈ·͠ΐ͏ ʘ ʗ

  14. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  15. Gitͷ࢖͍ํʢ̍ʣΠϯετʔϧ ✤ ·ͣ͸ɺΠϯετʔϧͯ͠Έ·͠ΐ͏! ✤ OS X 10.9΍ɺLinuxͷਓ͸ඪ४Ͱೖ͍ͬͯΔ͸ͣ! ✤ λʔϛφϧΛ։͍ͯɺ$ git

    --versionͱଧͬͯ݁Ռ͕ग़Ε͹
 େৎ෉Ͱ͢! ✤ OS X 10.8Ҏલͷਓ΍ɺೖ͍ͬͯͳ͔ͬͨ৔߹͸ɺ
 http://git-scm.com/download
 ͔Βμ΢ϯϩʔυͯ͠ɺΠϯετʔϧ͠·͠ΐ͏! ✤ GUI͔Β࢖͏ʹ͸ɺSourceTree͕ศརͩͱࢥ͍·͕͢ɺ
 ࠓճ͸λʔϛφϧ͔ΒͷΈͰઆ໌͠·͢
  16. Gitͷ࢖͍ํʢ̎ʣ؅ཧ͢ΔϑΝΠϧ ✤ Git͸ɺ͋ΔσΟϨΫτϦҎԼʹଘࡏ͢ΔϑΝΠϧʹ͍ͭͯ؅ཧ͢ΔΑ͏ʹͳ͍ͬͯ·͢! ✤ ྫ͑͹ɺԼͷਤͷΑ͏ͳྫͳΒ͹”DirA”ҎԼͷ
 શͯͷϑΝΠϧɺσΟϨΫτϦʢഎܠ͕੺͍ϑΝΠϧʣΛ؅ཧ͢Δ͜ͱ͕Ͱ͖·͢! ✤ ͜ͷͱ͖ɺ”DirA”ΛϦϙδτϦͱݺͼ·͢ File File

    .git File File File File File File File File File File File File File File DirA File DirB DirC DirD
  17. Gitͷ࢖͍ํʢ̏ʣϦϙδτϦ ✤ ϦϙδτϦʹͳ͍ͬͯΔσΟϨΫτϦͷ௚Լʹ͸ɺ
 “.git”ͱ͍͏σΟϨΫτϦ͕ஔ͔Ε·͢! ✤ Git͕؅ཧ͢ΔϑΝΠϧͷ
 ৘ใͳͲΛอଘ͓ͯ͘͠
 σΟϨΫτϦͳͷͰɺ
 ͍͡Βͳ͍Α͏ʹ͠·͢ .git

    DirA DirB File1.c File2.c File3.c File4.c File1.c File1.c File1.c File8.c DirC File1.h
  18. Gitͷ࢖͍ํʢ̐ʣgit init ✤ ࣮ࡍʹɺϦϙδτϦΛ࡞ͬͯΈ·͠ΐ͏! ✤ λʔϛφϧΛ։͍ͯɺ”DirA”Λ࡞੒͠·͢! ✤ $ mkdir DirA

    ✤ ϦϙδτϦΛ࡞੒͠·͢! ✤ $ git init ✤ ӈͷਤͷΑ͏ʹ”.git”͕
 ઃஔ͞Ε·͢ʂ DirA .git
  19. Gitͷ࢖͍ํʢ̑ʣgit add ✤ ࣍ʹɺ”README.txt”Λॻ͍ͯอଘ͠·͠ΐ͏! ✤ อଘͨ͠Βɺgit addίϚϯυΛ࢖͍·͢! ✤ $ git

    add README.txt ✤ ͢ΔͱɺGit͕”README.txt”ͷ
 มߋ఺Λ؂ࢹ͢Δ”४උ”Λ͠·͢ DirA README.txt .git
  20. Gitͷ࢖͍ํʢ̒ʣgit status ✤ ؂ࢹ͞ΕΔϑΝΠϧ͕Ͳ͏ͳΔͷ͔Λ֬ೝ͠·͠ΐ͏! ✤ $ git status
 …
 #

    Changes to be committed:
 # (use "git rm --cached..." to unstage)
 #
 # new file: README.txt ✤ ্ͷΑ͏ͳϝοηʔδͱग़·͢! ✤ Git͕”README.txt”Λ৽͘͠؂ࢹ͢Δ४උΛ
 ࢝ΊͨΑʔͱ͍͏ϝοηʔδͰ͢! ✤ ؂ࢹ͢Δ४උΛ͞ΕͨϑΝΠϧΛɺ
 εςʔδϯά͞Ε͍ͯΔͱݺͼ·͢ DirA README.txt .git
  21. Gitͷ࢖͍ํʢ̓ʣεςʔδϯά ✤ ͜ͷঢ়ଶͰɺߋʹ”README.txt”Λฤूͯ͠ɺ
 ΋͏Ұ౓git statusΛݟͯΈ·͠ΐ͏! ✤ $ git status
 #

    Changes to be committed
 # new file: README.txt
 #
 # Changes not staged for commit:
 # modified: README.txt
 # ✤ લͷεϥΠυͷ࣌ͱҧͬͯɺ
 ʮมߋ఺͕͋Δ͚Ͳεςʔδϯά͞Εͯͳ͍
 ϑΝΠϧ͕͋ΔΑʂʯͱ͍͏ϝοηʔδ͕૿͑·͢! ✤ ΋͏Ұ౓ɺલͷεϥΠυಉ༷ʹgit add͠·͢ DirA README.txt .git
  22. Gitͷ࢖͍ํʢ̔ʣgit commit ✤ ͦΕͰ͸ɺgit statusͰ֬ೝͨ͠มߋ఺Λه࿥͠·͠ΐ͏
 Git͕؅ཧ͢Δมߋ఺ʹ͍ͭͯɺίϛοτͱݺͼ·͢! ✤ $ git commit

    -m“README.txtを追加した”
 [master (root-commit) 0fc233f] README.txtを追加した
 1 file changed, 2 insertions(+)
 create mode 100644 README.txt ✤ มߋ఺Λه࿥͢Δʹ͸ɺ͜ͷΑ͏ʹ
 git commitίϚϯυΛ࢖͍·͢ɻ! ✤ มߋ఺ʹ͍ͭͯͷ؆୯ͳઆ໌Λɺ
 -m “΄͛΄͛”ͷΑ͏ʹҾ਺Ͱೖྗ͠·͢ DirA README.txt .git
  23. Gitͷ࢖͍ํʢ̕ʣgit log ✤ ͭ͗ʹɺgit logίϚϯυͰ
 ίϛοτͷཤྺΛ֬ೝ͠·͠ΐ͏! ✤ $ git log


    commit 0fc233f013774ced26ccb2f6b5833f4f7e120122
 Author: Ryuichi KAWAMATA (@rkmathi) 
 Date: Mon Feb 3 19:43:54 2014 +0900
 README.txtを追加した ✤ ίϛοτҰཡ͕දࣔ͞Ε·͢ DirA README.txt .git
  24. Gitͷ࢖͍ํʢ̍̌ʣ΋͏͍ͪͲ ✤ ผͷϑΝΠϧΛ௥Ճͯ͠ɺ
 ΋͏Ұ౓git commit·ͰͷྲྀΕΛ΍ͬͯΈ·͠ΐ͏! ✤ ࠓճ͸ɺ”main.c”ͱ͍͏ϑΝΠϧΛॻ͍ͯอଘ͠·͢! ✤ $ git

    add main.c
 $ git status
 $ git commit -m “main”cを追加した”
 $ git log
 commit 8f2014419a7c47df7623848a2d4372c2c6158ea9
 Author: Ryuichi KAWAMATA (@rkmathi)
 Date: Mon Feb 3 19:54:25 2014 +0900
 main.cを追加した
 commit 0fc233f013774ced26ccb2f6b5833f4f7e120672
 Author: Ryuichi KAWAMATA (@rkmathi)
 Date: Mon Feb 3 19:43:54 2014 +0900
 README.txtを追加した ✤ ͜ΕͰɺίϛοτཤྺ͕̎ͭʹͳΓ·ͨ͠
 DirA README.txt .git main.c
  25. Gitͷ࢖͍ํʢ̍̍ʣεςʔδϯάʗίϛοτ ✤ GitͰίϛοτ͢Δʹ͸ɺεςʔδϯάঢ়ଶʹͳ͍ͬͯͳ͍ͱ͍͚·ͤΜ
 git statusίϚϯυͰ֬ೝ͢Δ͜ͱ͕Ͱ͖·͕͢ɺ͜ͷਤͰ͸എܠ৭Ͱ۠ผ͠·͢ DirA README.txt .git main.c DirA

    README.txt .git main.c DirA README.txt .git main.c ԫ৭ɿ! εςʔδϯά͞Ε͍ͯͳ͍ ౧৭ɿ! εςʔδϯά͞Ε͍ͯΔ ਫ৭ɿ! ίϛοτ͞Ε͍ͯΔ
  26. Gitͷ࢖͍ํʢ̍̎ʣgit show ✤ ࠷৽ͷίϛοτͷ৘ใΛݟΔʹ͸ɺgit showίϚϯυΛ࢖͍·͢! ✤ $ git show
 commit

    8f2014419a7c47df7623848a2d4372c2c6158ea9
 Author: Ryuichi KAWAMATA (@rkmathi) <iam@rkmathi.net>
 Date: Mon Feb 3 19:54:25 2014 +0900
 
 main.cを追加した
 
 diff --git a/main.c b/main.c
 new file mode 100644
 index 0000000..2efc776
 --- /dev/null
 +++ b/main.c
 @@ -0,0 +1,6 @@
 +#include <stdio.h>
 +
 +int main(void) {
 + printf("Hello, world\n");
 + return 0;
 +} ✤ ͜ΕΛݟΔͱ෼͔Δ௨Γɺίϛοτ͸ϑΝΠϧͷ
 มߋ఺Λه࿥͢Δ΋ͷͰ͢! ✤ ྫ͑͹ɺ্ͷίϛοτ͸લʹԿ΋ͳ͔ͬͨ(/dev/null)͚Ͳɺ
 ৽͘͠”main.c”ͱ͍͏ϑΝΠϧΛ࡞੒͠ɺ6ߦ௥ه͍ͯ͠Δมߋ఺
 Ͱ͋Δͱ͍͏͜ͱ͕Θ͔Γ·͢ DirA README.txt .git main.c
  27. Gitͷ࢖͍ํʢ̍̏ʣίϛοτʹ͍ͭͯ ✤ ߋʹmain.cΛฤू͠ɺίϛοτ͔ͯ͠Βɺ΋͏Ұ౓git showίϚϯυΛͯ͠Έ·͠ΐ͏! ✤ $ git show
 commit e44b226b0a4de0bbf145fc4a7df36cc42974dcb5


    Author: Ryuichi KAWAMATA (@rkmathi) <iam@rkmathi.net>
 Date: Mon Feb 3 20:12:47 2014 +0900
 
 main.cを変更した
 
 diff --git a/main.c b/main.c
 index 2efc776..4ff6623 100644
 --- a/main.c
 +++ b/main.c
 @@ -1,6 +1,6 @@
 #include <stdio.h>
 int main(void) {
 - printf("Hello, world\n");
 + printf("Hello, Git!\n");
 return 0;
 } ✤ ৽͘͠ϑΝΠϧΛ࡞ͬͨίϛοτͰ͸ͳ͘ɺ
 ͢Ͱʹաڈʹίϛοτ͞Εͨ͜ͱ͕͋ΔϑΝΠϧΛฤूͷ
 ৔߹͸ɺ্ͷΑ͏ʹมߋ͞ΕͨߦΛڭ͑ͯ͘Ε·͢ DirA README.txt .git main.c
  28. Gitͷ࢖͍ํʢ̍̐ʣίϛοτʹ͍ͭͯ ✤ લͷεϥΠυͰݟͨΑ͏ʹɺGitͷίϛοτ͸௚લͷίϛοτͱͷ ࠩ෼ΛੵΈ্͍͖͛ͯ·͢! ✤ ҰͭҰͭͷίϛοτͰɺશͯͷཤྺΛه࿥͍ͯ͠·͢ main.c の4行目を 編集 main.c

    を新規追加 して、編集 commit: e44b226b0… README.txt を新規追加
 して、編集 1൪໨ͷ! ίϛοτ 2൪໨ͷ! ίϛοτ 3൪໨ͷ! ίϛοτ ࠷৽! (HEAD) commit: 8f2014419… commit: 0fc233f01…
  29. Gitͷ࢖͍ํʢ̍̑ʣgit reset —hard ✤ git resetίϚϯυΛ࢖͏ͱɺίϛοτΛ࡟আͨ͠ΓɺϑΝΠϧͷεςʔδϯάΛղআ͢Δ͜ͱ͕Ͱ͖·͢! ✤ ྫ͑͹ɺ࠷৽ͷίϛοτ(0fc233f01…)Λ࡟আͯ͠ɺ̍ͭલͷίϛοτ(~1)ʹ͢Δʹ͸࣍ͷίϚϯυͰͰ͖·͢! ✤ $

    git reset —hard 0fc233f~1 ✤ ͜ΕͰɺ࠷৽ͷίϛοτ͸ԼͷਤͰ͍͏2൪໨ͷίϛοτ(8f2014419…)ʹͳΓ·ͨ͠ main.c の4行目を 編集 main.c を新規追加 して、編集 README.txt を新規追加
 して、編集 1൪໨ͷ! ίϛοτ 2൪໨ͷ! ίϛοτ 3൪໨ͷ! ίϛοτΛ
 ࡟আʂ ☓ ࠷৽! (HEAD) commit: e44b226b0… commit: 8f2014419… commit: 0fc233f01…
  30. Gitͷ࢖͍ํʢ̍̒ʣgit reflog ✤ લͷεϥΠυͷgit reset —hard͸ͱͯ΋ڧྗͰɺίϛοτΛͳ͔ͬͨ͜ͱʹͯ͠͠·͍·͢! ✤ ؒҧ͑ͯgit reset —hardͯ͠ফͯ͠͠·ͬͨΒɺ(͓ͯ͘ΕͰͳ͚Ε͹)git

    reflogίϚϯυͰૢ࡞ͷ֬ೝΛͯ͠ɺ
 ͦͷҐஔΛࢦఆͯ͠git reset --hardΛ࣮ߦ͢Δͱɺݩʹ໭͢͜ͱ͕Ͱ͖·͢ʂ! ✤ $ git reflog
 8f20144 HEAD@{0}: reset: moving to e44b226~1
 e44b226 HEAD@{1}: commit: main.cを変更した
 8f20144 HEAD@{2}: commit: main.cを追加した
 0fc233f HEAD@{3}: commit (initial): README.txtを追加した
 $ git reset —hard “HEAD@{1}" main.c の4行目を 編集 main.c を新規追加 して、編集 README.txt を新規追加
 して、編集 1൪໨ͷ! ίϛοτ 2൪໨ͷ! ίϛοτ 3൪໨ͷ! ίϛοτΛ
 ෮׆ʂʂ ࠷৽! (HEAD) commit: e44b226b0… commit: 8f2014419… commit: 0fc233f01…
  31. Gitͷ࢖͍ํʢ̍̓ʣgit diff ✤ ίϛοτಉ࢜ͷࠩ෼Λ֬ೝ͢Δʹ͸ɺgit diffίϚϯυΛ࢖͍·͢! ✤ $ git diff 0fc2..8f20

    ✤ ͜ΕͰɺ3൪໨(0fc23…)ͱ̎൪໨(8f201…)ͷίϛοτͷࠩ෼Λ֬ೝͰ͖·͢
 ࢦఆ͢Δίϛοτͷϋογϡ͸શ෦ॻ͘ඞཁ͸ͳ͘ɺ
 ॏෳ͍ͯ͠ͳ͚Ε͹ɺ࠷௿ܻ͔͚̐͹େৎ෉Ͱ͢ main.c の4行目を 編集 main.c を新規追加 して、編集 README.txt を新規追加
 して、編集 1൪໨ͷ! ίϛοτ 2൪໨ͷ! ίϛοτ commit: e44b226b0… commit: 8f2014419… commit: 0fc233f01… 3൪໨ͷ! ίϛοτ
  32. Gitͷ࢖͍ํʢ̍̔ʣgit diff ✤ ίϛοτಉ࢜ͷࠩ෼ͷ͏ͪɺ͋ΔϑΝΠϧʹ͍͚ͭͯͩΛ֬ೝ͢Δ͜ͱ΋Ͱ͖·͢! ✤ $ git diff 0fc2..8f20 --

    main.c ✤ ͜ͷΑ͏ʹɺൺ΂͍ͨίϛοτͷޙΖʹϋΠϑϯΛ2ͭܨ͛ͯɺ
 ϑΝΠϧ໊Λྻڍ͢ΔͱɺͦͷϑΝΠϧʹ͍ͭͯͷࠩ෼ͷΈΛݟΔ͜ͱ͕Ͱ͖·͢ main.c の4行目を 編集 main.c を新規追加 して、編集 README.txt を新規追加
 して、編集 1൪໨ͷ! ίϛοτ 2൪໨ͷ! ίϛοτ commit: e44b226b0… commit: 8f2014419… commit: 0fc233f01… 3൪໨ͷ! ίϛοτ
  33. Gitͷ࢖͍ํʢ̍̕ʣͦͷଞ ✤ ଞʹ΋ɺGitʹ͸ศརͳίϚϯυ͕ͨ͘͞Μ͋Γ·͢
 ޙड़͢ΔެࣜͷϚχϡΞϧͳͲͰௐ΂ͯΈ͍ͯͩ͘͞! ✤ git rm / git mv

    ✤ git branch / git checkout ✤ git revert ✤ git cherry-pick ✤ git grep / git ls-files などなど。。。
  34. ໨࣍ ✤ ର৅ಡऀ! ✤ Gitͱ͸Կͳͷ͔! ✤ ଔۀݚڀͱGit! ✤ Gitͷ࢖͍ํ! ✤

    GitΛ࢖͍͜ͳ͢
  35. GitΛ࢖͍͜ͳ͢ʢ̍ʣϚχϡΞϧ ✤ GitΛ࢖͍ͬͯͯɺʮ͜Μͳ͜ͱͰ͖Δ͔ͳʁʯͱ
 ࢥͬͨ࣌ʹ͸ɺϚχϡΞϧΛಡΉͱཧղ͕ਂ·Γ·͢! ✤ GitͷެࣜαΠτʹ೔ຊޠ൛ͷϚχϡΞϧ͕͋ΔͷͰɺ
 ͻͱ௨Γ໨Λ௨͢ͱྑ͍ͱࢥ͍·͢! ✤ Pro Git

    book - Japanese
 http://git-scm.com/book/ja! ✤ ·ͨɺνʔτγʔτΛެ։͞Ε͍ͯΔํ͕͍·͢ͷͰɺ
 ҹ࡮ͯ͠खݩʹ͓͍͓ͯ͘ͱεϜʔζʹֶशͰ͖Δͱ͓΋͍·͢! ✤ Git Cheat Sheet ೔ຊޠ൛
 http://www.textdrop.net/doc/git-cheat-sheet-ja/
  36. GitΛ࢖͍͜ͳ͢ʢ̎ʣϒϥϯν ✤ ϒϥϯν͸ෳ਺ਓͰ։ൃ͢Δͱ͖ʹ͸΋ͪΖΜɺ
 ݸਓͰϦϙδτϦΛ࢖͏ͱ͖ʹ΋ඞਢͳػೳͰ͢! ✤ ࠓճ͸εϥΠυ͕௕͘ͳΓ͗ͨ͢ͷͰׂѪ͠·ͨ͠ɻɻɻ! ✤ GitͷެࣜϖʔδͰৄ͍͠ղઆ͕͋ΔͷͰɺ
 ͦͷϖʔδͳͲͰௐ΂ͯ࢖ͬͯΈ͍ͯͩ͘͞ʂ! ✤

    ʮGitͷϒϥϯνػೳʯ
 http://git-scm.com/book/ja/Git-Git-ͷϒϥϯνػೳ-ϒϥϯνͱ͸
  37. GitΛ࢖͍͜ͳ͢ʢ̏ʣgit reset ✤ git resetʹ͸ɺΦϓγϣϯ͕͍͔ͭ͋͘Γɺ
 ͦΕͧΕͰڍಈ͕ҧ͖ͬͯ·͢! ✤ —soft ✤ —mixed

    (またはオプションなし) ✤ —hard ✤ εϥΠυͰ͸--hard͔͠औΓ্͛·ͤΜͰ͕ͨ͠ɺ
 ଞͷΦϓγϣϯʹ͍ͭͯ͸࣍ͷهࣄΛࢀߟʹ͢Δͱྑ͍ͱࢥ͍·͢! ✤ ʮgit reset ʹ͍ͭͯ΋·ͱΊͯΈΔʯ
 http://d.hatena.ne.jp/murank/20110327/1301224770
  38. GitΛ࢖͍͜ͳ͢ʢ̐ʣ.gitignore ✤ ΤσΟλͷҰ࣌ϑΝΠϧͳͲɺ
 ϦϙδτϦʹ௥Ճͨ͘͠ͳ͍अຐͳϑΝΠϧΛ
 ઃఆͯ͠ɺ௥Ճ͠ͳ͍Α͏ʹͰ͖·͢! ✤ “.git”ͷྡʹɺ”.gitignore”ͱ͍͏ϑΝΠϧΛஔ͍ͯɺ
 தʹઃఆΛॻ͘͜ͱͰͰ͖·͢! ✤ Git-ͷجຊ-มߋ಺༰ͷϦϙδτϦ΁ͷه࿥


    http://git-scm.com/book/ja/Git-ͷجຊ-มߋ಺༰ͷϦϙδτϦ΁ͷه࿥
  39. GitΛ࢖͍͜ͳ͢ʢ̑ʣ.gitconfig ✤ ϗʔϜσΟϨΫτϦͷ௚Լʹɺ”.gitconfig”ͱ͍͏
 ϑΝΠϧΛஔ͘ͱɺͦ͜ʹGitͷઃఆΛॻ͚·͢! ✤ ޙड़͢ΔGitHubͳͲͷ֎෦αʔϏεΛ࢖͏ͱ͖ʹ͸ɺ
 ઃఆ͍ͯ͠ͳ͍ͱ࢖͑ͳ͍ͷͰඞཁʹԠͯ͡ઃఆ͠·͢! ✤ Git ͷΧελϚΠζ

    - Git ͷઃఆ
 http://git-scm.com/book/ja/Git-ͷΧελϚΠζ-Git-ͷઃఆ
  40. GitΛ࢖͍͜ͳ͢ʢ̒ʣ֎෦αʔϏε ✤ Git͸ҰਓͰ࢖͏͚ͩͰͳ͘ɺෳ਺ਓͰ΋࢖͑·͢! ✤ ެ։ͯ͠΋Α͍ϓϩάϥϜΛෳ਺ਓͰ։ൃ͢Δͱ͖͸ɺ
 GitHubͳͲͷ֎෦αʔϏεΛ࢖͏ͱͱͯ΋ศརͰ͢! ✤ GitHub
 https://github.com/! ✤

    Bitbucket
 https://bitbucket.org/
  41. GitΛ࢖͍͜ͳ͢ʢ̓ʣࢿྉ ✤ ͜ͷεϥΠυͰ͸ɺʮͱΓ͋͑ͣಈ͔ͯ͠Έͨʯఔ౓͔͠આ໌Ͱ͖·ͤ ΜͰ͕ͨ͠ɺʦGit ೖ໳ʧͰάάͬͯΈΕ͹୔ࢁࢿྉ͕ެ։͞Ε͍ͯ·͢! ✤ Gitʹ͍ͭͯͷࢿྉͰɺಛʹಡΈ΍͍͢ͱࢥͬͨεϥΠυΛԼʹॻ͖·͢! ✤ ͍ͭ΍ΔͷʁGitೖ໳
 http://www.slideshare.net/matsukaz/git-17499005!

    ✤ ͜Θ͘ͳ͍Git
 http://www.slideshare.net/kotas/git-15276118
  42. ࠷ޙʹ ✤ Git͸ʮ೉͍͠ʯʮΑ͘Θ͔Βͳ͍ʯͱܟԕ͞Ε͕ͪ Ͱ͕͢ɺ࢖͑ΔΑ͏ʹͳΔͱඇৗʹศརͳπʔϧͩͱ ײ͡Δ͜ͱ͕Ͱ͖Δͱ͓΋͍·͢! ✤ ͥͻɺշదͳଔۀݚڀ΍ϓϩάϥϛϯάͷͨΊʹ΋
 ࢖͍͜ͳͤΔΑ͏ʹͳ͍ͬͯͩ͘͞ʂ