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

チーム開発 @ GitHub

Feb988227afc260a31c195105ab9c55d?s=47 ayatk
December 02, 2017

チーム開発 @ GitHub

2017/12/01に行ったプロジェクト内でのGitHub講習会で使った資料

一部privateリポジトリもありますがなくても多分大丈夫です

Feb988227afc260a31c195105ab9c55d?s=128

ayatk

December 02, 2017
Tweet

Transcript

  1. νʔϜ։ൃ @ GitHub 2017/12/01 @ayatk

  2. ͸͡ΊΔલʹ……

  3. Git ษڧ͖ͯ͠·͔ͨ͠?

  4. ࠓ೔͸Gitͷجຊతͳ͜ͱ͕Θ ͔͍ͬͯΔલఏͰ͓࿩͠·͢

  5. ͋ͱɺશ෦΍Ζ͏ͱ͢Δͱ๲େ ʹͳͬͨͷͰɺνʔϜ։ൃʹ࠷ ௿ݶඞཁͳ΋ͷΛઆ໌͠·͢

  6. ࠓ೔΍Δ͜ͱ • GitHubΛ࢖ͬͨνʔϜ։ൃ • ͱΓ͋͑ͣGitΛ࢖ͬͯΈΔ • READMEͷॻ͖ํ • gitignore

  7. ࠓ೔΍Δ͜ͱ • GitHubΛ࢖ͬͨνʔϜ։ൃ • ͱΓ͋͑ͣGitΛ࢖ͬͯΈΔ • READMEͷॻ͖ํ • gitignore

  8. GitHubΛ࢖ͬͨνʔϜ։ൃ • νʔϜ։ൃͰඞཁʹͳΔGitHubͷػೳ • Issue • Pull Request • ϒϥϯν

  9. ͜ͷϖʔδΛݟͳ͕Β΍Γ·͢ https://github.com/kiesproject/prepass-ios

  10. GitHubΛ࢖ͬͨνʔϜ։ൃ • νʔϜ։ൃͰඞཁʹͳΔػೳ • Issue • Pull Request • ϒϥϯν

  11. GitHub Issue • GitHubʹ͋ΔϓϩδΣΫτͷ՝୊΍όάͳͲ Λ؅ཧ͢ΔͨΊͷνέοτ؅ཧػೳ • ࣭໰΍ೖΕ͍ͨػೳͷఏҊͳͲϓϩδΣΫτ ʹؔ͢Δ͢΂ͯͷ͜ͱΛͨΊ͓ͯ͘৔ॴ

  12. Issueʹॻ͘͜ͱ • ͺͬͱ಄ʹු͔Μͩ͜ͱͰ΋શવॻ͍͍͍ͯɺ ͱݴ͏͔ॻ͍ͯ • ʮ͜ͷػೳཉ͍͠ʯͱ͔ʮ͜ͷػೳ͍Βͳ ͍ͷͰ͸ʯͱ͔ͳΜͰ΋͍͍

  13. IssueΛॻ͘ͱ͖ʹؾʹͯ͠΄͍͜͠ͱ • λΠτϧͷΈ͚ͩͰத͕Θ͔ΔΑ͏ʹ • Ͱ͖Δ͚ͩ۩ମతʹॻ͘ • ࣗ෼͸Θ͔ͬͯΔ͚Ͳ૬ख͕Θ͔Βͳ͍ͱҙຯ ͳ͍ • όάใࠂ͸ࣗ෼ͷ؀ڥͱ࠶ݱঢ়گΛৄ͘͠ॻ͘

    • खॱΛলུ͠ͳ͍
  14. Issue͕ଟ͘ͳͬͯ͘Δͱग़ͯ͘Δ໰୊ • ͲͷIssue͕όάͰͲΕ͕ػೳ௥Ճͳͷ͔Θ͔ Βͳ͘ͳͬͯ͘Δ • ໨తͷIssueΛૉૣ͘ݟ͚ͭΕͳ͍ • ͨ͘͞ΜͷIssue͔Β୳͢࡞ۀ • ͭΒ͍

  15. LabelΛ࢖͓͏? • Issueʹ͸ͦΕͧΕLabel͕͚ͭΕΔ • LabelΛ͚ͭΔͱLabelΛΫϦοΫ͢Δ͚ͩͰ ϑΟϧλϦϯά͕Ͱ͖Δ • IssueΛݟ͚ͭΔͷָ͕ʹͳΔ

  16. LabelͬͯͲΜͳײ͡? • ੨৭ͷenhancement͕ػೳ௥Ճ • ੺ͷbug͕όάใࠂ • ΄͔ʹ΋ࣗ෼ͰLabelΛ࡞ΕΔ

  17. LabelͰϑΟϧλϦϯά • enhancementͰϑΟϧλϦϯάͨ͠΋ͷ • ͖ͬ͞ݟ͍͑ͯͨbugͷLabel͸ফ͑Δ

  18. DEMO

  19. GitHubΛ࢖ͬͨνʔϜ։ൃ • νʔϜ։ൃͰඞཁʹͳΔػೳ • Issue • Pull Request • ϒϥϯν

  20. Pull Request (PR) • ͋ΔϒϥϯνͰ࡞ۀͨ͠΋ͷΛผͷϒϥϯν ʹϚʔδͯ͠΄͍͠ͱ͍͏ཁ๬Λͩ͢ • ͜͜ͰίʔυͷϨϏϡʔ΍ॿݴΛͯ͠΋Β͏ • PR͕OKͩͬͨΒPRΛૹͬͨਓҎ֎ͷਓ͕

    ϚʔδΛߦ͏
  21. Pull Request (PR) • PR͕Ϛʔδ͞ΕͨΒϚʔδݩͷϒϥϯν͸جຊతʹফ͢ • ͍Βͳ͍ϒϥϯν͕ཚཱͯ͠ҧ͏ϒϥϯνʹίϛο τͯ͠͠·͏͜ͱ͕૿͑Δ • PRΛϚʔδ͢Δͱ”Delete

    branch”ͱ͍͏Ϙλϯ͕ දࣔ͞ΕΔͷͰͦΕΛԡ͢ • ΋͠ίϯϑϦΫτͯ͠΋GitHubͷWeb্Ͱमਖ਼Ͱ͖Δ
  22. Pull Requestʹॻ͘͜ͱ • λΠτϧ • ͳΜͷͨΊʹ͜ͷPRΛग़ͨ͠ͷ͔ • ʮ̋̋ͷͱ͖ʹ̋̋͢Δ໰୊Λमਖ਼ʯɺʮ̋̋ͷػೳΛ௥Ճʯ • આ໌

    • ۩ମతͳमਖ਼಺༰ • λΠτϧ͚ͩͰ͸ݴ͑ͳ͔ͬͨิ଍આ໌ • εΫϦʔϯγϣοτ • ؔ࿈͢ΔIssue • ࣮૷ͯͯ͠Θ͔Βͳ͔ͬͨͱ͜
  23. Pull Requestͷྫ

  24. ૬ख͕ཧղͰ͖ΔͳΒOK

  25. ϝϯόʔʹΑΔίʔυϨϏϡʔ • Pull Request͕౤͛ΒΕΔͱଞͷϝϯόʔ͸ʮίʔυϨ ϏϡʔʯΛߦ͏ • ίʔυϨϏϡʔ͸ιϑτ΢ΣΞΛεϜʔζʹ։ൃ͢Δ্ Ͱඞཁ • ٕज़తෛ࠴


    (ͦͷݴޠͰ͸ྑ͘ͳ͍ͱ͞ΕΔॻ͖ํ΍ࡶͳίʔ υϑΥʔϚοτ)
  26. ϨϏϡʔΛ͢Δ • ԿΛݟΕ͹͍͍ͷ͔ • ࣮ࡍʹಈ͘ͷ͔(ಈ͔ͳ͔ͬͨΒݩ΋ࢠ΋ ͳ͍) • ίʔυͷن໿ʹԊ͍ͬͯͳ͍ͱ͜Ζ

  27. ϨϏϡʔͷ݁ՌΛ૬खʹ఻͑Δ • ଟ෼νʔϜ։ൃͰҰ൪Ή͔͍ͣ͠ • ݴ༿ݣ͍ʹ͸ؾΛ͚ͭΔ͜ͱ • ର໘Ͱແ͍෼ɺड͚औΔײ৘͕ҟͳΔ৔߹͕ ͋Δ • ڧ͍ݴ༿Λ࢖͍ଓ͚ͯΔͱνʔϜͷ่յΛট͘

  28. ϨϏϡʔͰઈର΍ͬͯ͸͍͚ͳ͍͜ͱ • ਓ֨߈ܸ • ݟΔͷ͸ίʔυͰ͋ͬͯਓ͡Όͳ͍ • ѱ͍ݴ༿࢖͍(໋ྩޱௐ) • LINEͰ͍͖ͳΓڧ͍౰ͨΓํ͞ΕͨΒͭ Β͍ΑͶ?

  29. ϨϏϡʔͷ݁ՌΛ૬खʹ఻͑Δ • ͡Ό͋Ͳ͏͢Ε͹͍͍? • ੵۃతʹίϝϯτͯ͋͛͠Δ • ྑ͍৔߹͸͍͍͜ͱΛݴͬͯѱ͍৔߹͸ͩΊͬ ͯͪΌΜͱݴ͏ • ֆจࣈΛଟΊʹ࢖͍·͠ΐ͏

    • ֆจࣈΛ࢖͏͚ͩͰ͍ͩͿงғؾ͕มΘΓ· ͢
  30. ࣮ࡍͷϨϏϡʔ෩ܠ • ΊͬͪΌྑ͔ͬͨͷͰ͍͍ͶΛ͠·ͬͨ͘ • ͜ΕΛ΍Δ͚ͩͰPRΛૹͬͨਓ͸͍҆͢͝৺͢Δ

  31. ϨϏϡʔ͸΍Ε͹΍Δ΄Ͳ
 ͓ޓ͍ʹ੒௕͠·͢

  32. ͲΜͲΜ΍Ζ͏

  33. GitHubΛ࢖ͬͨνʔϜ։ൃ • νʔϜ։ൃͰඞཁʹͳΔػೳ • Issue • Pull Request • ϒϥϯν

  34. νʔϜ։ൃͰͷϒϥϯνӡ༻ • νʔϜ։ൃͰ͸ෳ਺ਓ͕ಉ࣌ʹಉ͡ίʔυΛ͍ ͡ΔͨΊɺ͖ͪΜͱͨ͠ϒϥϯνͷӡ༻͕ඞཁ • ϝϯόʔશһ͕masterϒϥϯνͰ࡞ۀ͢Δͱ push͸Ͱ͖ͳ͍͠ɺπϦʔͷ੔߹ੑ͕औΕͳ ͘ͳͬͯ஍ࠈ of ஍ࠈ

  35. ϒϥϯνͷӡ༻ମܥ • Git Flow • GitHub Flow • GitLab Flow

    • ଞʹ΋ͨͿΜ͍ͬͺ͍͋Δ
  36. ϒϥϯνͷӡ༻ମܥ • Git Flow • GitHub Flow • GitLab Flow

    • ଞʹ΋ͨͿΜ͍ͬͺ͍͋Δ
  37. Git Flow • Vincent Driessenࢯ͕ఏএ͢ΔϒϥϯνϞσϧ • ΞϓϦ΍πʔϧͳͲόʔδϣϯΛ൐͍ͬͯͯɺݹ ͍όʔδϣϯ΋αϙʔτ͢ΔΑ͏ͳϦϦʔεϞσ ϧͰΑ͘࢖ΘΕΔ •

    େن໛ͳϓϩδΣΫτͰ͋Δ΄ͲޮՌΛൃش͢Δ • ӡ༻ํ๏͕ෳࡶͰॳΊͯͷਓʹ͸Θ͔Γʹ͍͘
  38. Git Flow • masterϒϥϯνͱ developϒϥϯνΛ ϕʔεͱͯ͠։ൃ • ։ൃΛߦ͏ͷ͸ developϒϥϯνͱ ͔ͦ͜Β೿ੜ͢Δ

    ϒϥϯνͷΈ http://nvie.com/posts/a-successful-git-branching-model/
  39. Git Flow • developϒϥϯν͔Β͸ featureϒϥϯνΛੜ΍ͤ Δ • featureϒϥϯνͰ৽ػೳ Λ௥Ճ͍ͯ͘͠ •

    ௥Ճ͠ऴ͑ͨΒdevelop ϒϥϯνʹPullRequestΛ ౤͛Δ http://nvie.com/posts/a-successful-git-branching-model/
  40. Git Flow • ϦϦʔε͕Ͱ͖Δঢ়ଶʹͳͬ ͨΒdevelopϒϥϯν͔Β releaseϒϥϯνΛ࡞ΓϦϦʔ ε࡞ۀΛߦ͏ • ϦϦʔε࡞ۀ͕ऴΘͬͨΒ masterϒϥϯνͱdevelopϒ

    ϥϯνʹϚʔδ • Ϛʔδͨ͠masterϒϥϯνʹ ͸όʔδϣϯ໊Λ͚ͭͨtagΛ ੾Δ http://nvie.com/posts/a-successful-git-branching-model/
  41. Git Flow • ΍͹͍όά͕͋ͬͯࠓ ͙͢मਖ਼͠ͳ͍ͱࢮ ͵ͬͯͱ͖͸ɺ masterϒϥϯν͔Β hotfixϒϥϯνΛ࡞Δ • मਖ਼͕ऴΘͬͨΒ

    developͱmasterʹ Ϛʔδͯ͠λάΛ੾Δ http://nvie.com/posts/a-successful-git-branching-model/
  42. ਖ਼௚͠ΜͲ͍

  43. GitHub Flow • GitHub͕ࣾఏএ͢ΔϒϥϯνϞσϧ • masterϒϥϯνʹfeatureϒϥϯνੜ΍ͯ͠Ϛʔδ͢Δ͚ͩ ͷϞσϧ • WebαʔϏεͱ͔͸͖ͬΓͨ͠ৗʹϦϦʔεͩͥˑΈ͍ͨ ͳϦϦʔεϞσϧΛ࠾༻ͯ͠ΔͳΒઈରͬͪ͜

    • Git Flow΍͚ͬͨͲͭΒ͍…΋͎ŵŧƄແཧɻɻͬͯͳͬͨΒ ͬͪ͜
  44. http://shoma2da.hatenablog.com/entry/2015/11/04/233534

  45. ΊͬͪΌγϯϓϧ

  46. GitHub Flow • GitHub Flowͷ੍໿ • masterʹ͋Δ΋ͷ͸ͳΜͰ΋σϓϩΠՄೳ(ͪΌΜͱಈ͔ͳ͖Ό͍͚ͳ͍) • master͔ΒfeatureΛੜ΍͢ͱ͖͸໊લΛઆ໌తͳ΋ͷʹ͢Δ͜ͱ(new- oauth2-scopesͱ͔)

    • masterʹϚʔδͰ͖Δͱײͨ͡ΓɺԿ͔ॿݴ͕ཉ͔ͬͨ͠Βmasterʹ޲͚ͯ PullRequestΛ౤͛Δ(·ͩϚʔδͰ͖ͳ͍ͱ͖͸[WIP]ͱ͚ͭΔͱΘ͔Γ΍ ͯ͘͢Α͍) • ϚʔδΛͨ͠Βͦͷϒϥϯν͸͙͢ফ͠ɺ࠶ར༻͠ͳ͍
  47. GitHub Flow • masterʹ͋Δ΋ͷ͸ͳΜͰ΋σϓϩΠՄೳ(ͪΌΜͱಈ͔ͳ͖Ό͍͚ͳ͍) • master͔ΒfeatureΛੜ΍͢ͱ͖͸ӳޠͷ໊લͰઆ໌తͳ΋ͷʹ͢Δ͜ͱ (new-oauth2-scopesͱ͔) • ܾͯࣗ͠෼ͷ໊લͷϒϥϯνΛ࡞Βͳ͍ •

    ͜ͷ2ͭͷ੍໿ʹؔͯ͠͸ͲΜͳϒϥϯνϞσϧΛ࢖ͬͯ΋ඞͣकΔ͜ͱ!
 (कΒͳ͍ͱ୭͕ԿΛ΍͍ͬͯΔͷ͔Θ͔Βͳ͘ͳͬͨΓͯ͠ɺ
 νʔϜ։ൃ͕೉͘͠ͳΔ)
  48. ࣮ࡍ։ൃͯͯ͠Ͳ͏ͳͷ • AndroidΞϓϦ͔͠Θ͔Βͳ͍͚ͲɺGit Flow Λগ͔͠ΜͨΜʹͨ͠ϒϥϯνϞσϧΛ࢖ͬ ͯ։ൃ͢ΔͱίϯϑϦΫτ͢Δස౓͕ݮͬͯ ྑ͍ • PullRequestͳͲͰϨϏϡʔ͠߹͏͜ͱͰ໌Β ͔ʹ͓͔͍͠ॻ͖ํ͕ݮΔ

  49. ࣮ࡍ։ൃͯͯ͠Ͳ͏ͳͷ • ؾ͍ͮͨͱ͖ʹIssueΛॻ͍͍ͯ͘͜ͱͰ࣍ʹ ΍Βͳ͚Ε͹͍͚ͳ͍͜ͱ͕͸͖ͬΓ͢Δ • Issueͩͱ͔PRͩͱ͔͸श׳͚ͮΛ͠ͳ͍ͱ͠ ΜͲ͘ͳͬͯ͘Δ

  50. ։ൃͷͨΊͷश׳͚ͮ • ΞϓϦ൝ͷͱ͋ΔνʔϜͰ͸… • શһ͕ू·ΔͰ͋Ζ͏׆ಈ೔ʹɺͦͷ৔ʹ͍ ΔશһͰIssueΛݟ௚͠ɺ༏ઌ౓ΛܾΊ͍ͯ͘ • ࠓिඞͣ΍Δ΋ͷΛϐοΫΞοϓ࣮ͯ͠૷ • ͱ͍͏͜ͱΛຖिඞͣ΍͍ͬͯΔ

  51. ࠓ೔΍Δ͜ͱ • GitHubΛ࢖ͬͨνʔϜ։ൃ • ͱΓ͋͑ͣGitΛ࢖ͬͯΈΔ • READMEͷॻ͖ํ • gitignore

  52. Git͸࣮ࡍʹखΛಈ͔͞ͳ͍ͱ શ͘਎ʹ͖ͭ·ͤΜ

  53. ͳͷͰGitͰ೔ใΛ
 ॻ͖·͠ΐ͏

  54. ೔ใͷϦϙδτϦ • ֤νʔϜ͝ͱʹ೔ใΛॻ͘ϦϙδτϦΛ෼͚ ͍ͯ·͢ • ΞϓϦ൝ -> app.docs • ϋʔυ΢ΣΞ൝

    -> hardware.docs • VR൝ -> vr.docs
  55. ೔ใͷϦϙδτϦ • ͳΜͰ xxx.docsͱ͍͏໊લʹ͍ͯ͠Δͷ? • KIESϓϩδΣΫτ͸ਓ਺͕ଟ͗͢ΔͷͰ෼͚ͨ • ͜͜ʹ֤൝ͷυΩϡϝϯτ΋Ұॹʹ؅ཧͯ͠΄ ͍͔͠Β •

    GitͱPRͷ࿅शͱࢥ͍͚ͬͯͨͩΕ͹
  56. ೔ใͷॻ͖ํ • ݸਓͷ೔ใ͸֤൝ͷϦϙδτϦͷmaster͔Β ࣗ෼ͷ໊લ(খจࣈӳࣈ)ͷϒϥϯνΛ੾ͬͯॻ ͍ͯ΋Β͍·͢ • ςϯϓϨʔτ͕͋ΔͷͰͦΕΛίϐʔͯ͠ progress-2017/12/01.mdΈ͍ͨͳϑΝΠϧ໊ Ͱอଘͯ͠ॻ͍͍ͯͩ͘͞

  57. ೔ใͷॻ͖ํ • Markdownͱ͍͏ه๏Ͱ೔ใΛॻ͖·͢ • Markdownͷॻ͖ํ͸ʮMarkdown ॻ͖ํʯ ͰάάΕ͹ग़ͯ͘ΔͷͰ͙͙͍ͬͯͩ͘͞ • λΠτϧ͸ʮ<೔෇:2017/11/30>::೔ใ::<໊લ >ʯΈ͍ͨͳײ͡Ͱॻ͍͍ͯͩ͘͞

  58. masterʹஔ͘΋ͷ • masterʹ͸֤൝ͷυΩϡϝϯτΛ͓͍ͯ΋Β͍·͢ • खॱॻͱ͔Tipsͱ͔ • Ͱ͖Ε͹PowerPointͱ͔Wordͱ͔Ͱॻ͔ͳ͍Ͱ MarkdownͰॻ͍ͯ΄͍͠Ͱ͢ • PowerPointͱ͔WordͩͱWeb্ͰݟΕͳ͍

    • υΩϡϝϯτ͸PRͰͷΈ௥Ճ͢ΔΑ͏ʹ͍ͯͩ͘͠͞
  59. ৄ͘͠͸֤ϦϙδτϦͷ READMEΛݟͯͶ

  60. ࠓ೔΍Δ͜ͱ • GitHubΛ࢖ͬͨνʔϜ։ൃ • ͱΓ͋͑ͣGitΛ࢖ͬͯΈΔ • READMEͷॻ͖ํ • gitignore

  61. README • ϝϯόʔ͕ͦͷϓϩδΣΫτʹೖͬͨͱ͖ʹ࠷ॳʹݟΔυΩϡ ϝϯτ • ϓϩδΣΫτʹ͍ͭͯͷඞཁ࠷௿ݶͷ৘ใΛॻ͘ • ͜ΕΛॻ͘ͱϝϯόʔ͕READMEΛಡΉ͚ͩͰϓϩ δΣΫτʹ͍ͭͯΘ͔Δ •

    ϓϩδΣΫτʹ͍ͭͯͷ࢓༷ॻ • νʔϜ։ൃΛ͢Δ্Ͱίʔυͱಉ͙͡Β͍େ੾
  62. READMEʹ͸ԿΛॻ͘ͷ͔ 1. ϓϩδΣΫτͷ໊લ 2. ԿΛ͢ΔͨΊϓϩδΣΫτͰ͜ΕΛ࢖͏ͱԿ͕Ͱ͖Δͷ͔ 3. ϓϩδΣΫτͷ࢖͍ํͱΠϯετʔϧํ๏ 4. ϓϩδΣΫτͷ։ൃΛ͢Δ্ͰඞཁͳϥΠϒϥϦͩͬͨΓ πʔϧҰཡͱɺΠϯετʔϧํ๏

    5. πʔϧͰ͋Ε͹αϯϓϧίʔυͳΜ͔ΛࡌͤΔ
  63. αϯϓϧͷREADME https://github.com/kiesproject/MawaRoute

  64. ࠓ೔΍Δ͜ͱ • GitHubΛ࢖ͬͨνʔϜ։ൃ • ͱΓ͋͑ͣGitΛ࢖ͬͯΈΔ • READMEͷॻ͖ํ • gitignore

  65. gitignoreͱ͸ͳΜͧ΍ • gitͰ؅ཧͨ͘͠ͳ͍ϑΝΠϧΛআ֎͢ΔͨΊͷ࢓૊ Έ • CݴޠͩͬͨΒίϯύΠϧͨ͋͠ͱͷΦϒδΣ ΫτϑΝΠϧͩͬͨΓ࣮ߦϑΝΠϧ • ΤσΟλ΍IDEͷconfigϑΝΠϧͩͬͨΓ •

    ϓϩδΣΫτʹΰϛΛೖΕͳ͍ͨΊʹඞཁ
  66. gitignoreͷछྨ • Global gitignore • Local gitignore

  67. Global gitignore • ͢΂ͯͷgitϦϙδτϦʹద༻͞ΕΔgitignore • OSͷΩϟογϡϑΝΠϧ(.DS_Storeͱ͔ thumbs.db)΍ΤσΟλͷઃఆϑΝΠϧͱ͔Λ ઃఆ͢Δ

  68. Local gitignore • ϦϙδτϦ͝ͱʹద༻͞ΕΔgitignore • ࢖༻͍ͯ͠ΔݴޠͷઃఆͩͬͨΓɺϦϙδτϦͩ ͚ͰGit؅ཧ֎ʹ͍ͨ͠σΟϨΫτϦΛઃఆ͢Δ • OSͷϑΝΠϧ΍IDEͷઃఆͱ͔͸ઈରೖΕͳ͍!
 (શһ͕ಉ͡OSɺIDE΍ΤσΟλΛ࢖ͬͯΔͱ͸ݶ

    Βͳ͍)
  69. gitignoreͷॻ͖ํ • σΟϨΫτϦ • <σΟϨΫτϦ໊> / • ϫΠϧυΧʔυ • *

    (ΞελϦεΫ) ͰύλʔϯʹϚον͢Δ͢΂ͯͷϑΝΠϧ͕ আ֎͞ΕΔ • ֦ுࢠ • *.py, *.java
  70. gitignoreͷॻ͖ํ • আ֎ͷআ֎ • ߦͷઌ಄ʹʮ!ʯΛ͚ͭΔ͜ͱͰGit؅ཧͷআ֎͔Βআ֎͢Δ͜ͱ͕Մೳ • ྫ͑͹ɺbuildσΟϨΫτϦΛGit؅ཧ͔Βআ֎͍͕ͨ͠ɺதʹ͋Δi- need.txtͱ͍͏ϑΝΠϧ͚ͩ͸Ͳ͏ͯ͠΋GitͰ؅ཧ͍ͨ͠ͱ͖ • build/


    !build/i-need.txt • ίϝϯτ • ʮ#ʯΛߦͷઌ಄ʹ͚ͭΕ͹ͦͷߦ͸ίϝϯτͱͯ͠ॲཧ͞ΕΔ
  71. ࣮ࡍʹॻ͘ͱ͜Μͳײ͡ # Windows thumbnail cache files Thumbs.db ehthumbs.db ehthumbs_vista.db #

    Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi
  72. Global gitignoreͷஔ͖৔ॴ • جຊతʹ͸User HomeσΟϨΫτϦʹஔ͘ • Windows • %USERPROFILE%\.gitignore_global •

    macOS • $HOME/.gitignore_global
  73. Local gitignoreͷஔ͖৔ॴ • ϓϩδΣΫτͷRootσΟϨΫτϦʹஔ͘ • ϑΝΠϧ͸ “.gitignore” Ͱͳ͍ͱGitʹೝࣝ ͞Εͳ͍ •

    ࢠͷσΟϨΫτϦʹஔ͍ͯ΋େৎ෉
  74. Global gitignoreద༻ํ๏ • ίϚϯυ (ָͩ͠Φεεϝ) • git config --global core.excludesfile

    <.gitignore_globalͷpath> • ϑΝΠϧΛ௚઀͍͡Δ • User HomeσΟϨΫτϦʹ “.gitconfig”ͱ͍͏ϑΝΠϧ͕͋Δ ͷͰͦͷதʹҎԼͷΑ͏ʹॻ͚͹OK • [core]
 excludesfile = path/to/gitignore_global
  75. ͜͜Λݟͳ͕Βઃఆ͢Δͱ͍͍ https://github.com/github/gitignore