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

Git/Github_勉強スライドまとめ

 Git/Github_勉強スライドまとめ

超入門、入門、タスク管理、実践、UIの5つのスライドをまとめました。

Tekoneko

May 24, 2019
Tweet

More Decks by Tekoneko

Other Decks in Programming

Transcript

  1. Computer A Version Database Version 3 Version 1 Version 2

    Computer B Central VCS Server 集中型バージョン管理システム 15
  2. ूதܕόʔδϣϯ؅ཧγεςϜ u ڞಉ࡞ۀ͕͠΍͘͢ͳΔ u ଞͷਓ͕ԿΛ͍ͯ͠Δͷ͔͋Δఔ౓Θ͔Δ u ϩʔΧϧόʔδϣϯ؅ཧγεςϜͷ ϝϦοτΛҾ͖ܧ͍ͰΔ ϝϦοτ u

    αʔόʔ͕ࢭ·ͬͯ͠·͏ͱڞಉ࡞ۀ΋ όʔδϣϯ؅ཧ΋Ͱ͖·ͤΜ  ୯Ұো֐఺ u σʔλϕʔεͷόοΫΞοϓΛऔΒͳ͚Ε͹ͳΒͳ͍ σϝϦοτ 17
  3. 分散型バージョン管理システム(Git) Version Database Version 3 Version 1 Version 2 Computer

    B Version Database Version 3 Version 1 Version 2 Computer A Version Database Version 3 Version 1 Version 2 Server Computer 18
  4. Gitػೳ ฤ l ϦϙδτϦ l ίϛοτ l ϓογϡ l ϓϧ

    l ϒϥϯν l Ϛʔδ l ίϯϑϦΫτ 26
  5. C D B A ίϛοτ ίϛοτ ίϛοτ Commit 変更したファイルの差分 ৽͘͠௥Ճͨ͠

    ϑΝΠϧ मਖ਼ͨࠩ͠෼ मਖ਼ͨࠩ͠෼ ϦϙδτϦ಺Ͱ͸ɺաڈͷίϛοτ ͔Βݱࡏͷঢ়ଶ·Ͱͷࠩ෼Λه࿥ ϦϙδτϦ 33
  6. l ίϛοτϝοηʔδ ϦϙδτϦʹه࿥͢ΔࡍʹԿΛมߋͨ͠ͷ͔ Θ͔ΔΑ͏ʹϝοηʔδΛ࢒͠·͢ ྫʣ<feat>Todoػೳͷ௥Ճ <feat>ɿ feature ৽͍͠ػೳͷ௥Ճ <fix>ɿbugͷमਖ਼ <docs>ɿdocumentͷΈͷ௥Ճ

    <style>ɿࡉ͔͍ͱ͜ ۭനͷ࡟আ ϑΥʔϚοτͳͲ <refactor>ɿϓϩάϥϜͷಈ͖Λม͑ͳ͍ͰιʔείʔυΛมߋ ͢Δͱ͖ɺϥΠϒϥϦͷΞοϓσʔτͰ΍ͬͨΓ͢Δ <pref>ύϑΥʔϚϯεΛ্͛ΔίϛοτͳͲ <test>ɿςετͷ௥Ճ΍ςετͷमਖ਼ͳͲ <chore>ͦͷଞ 34
  7. ϩʔΧϧɾϦϙδτϦ A ϩʔΧϧɾϦϙδτϦ B มߋ෼Λه࿥ push มߋ෼ΛऔΓࠐΈ pull ϦϞʔτɾϦϙδτϦ l

    Push ϩʔΧϧɾϦϙδτϦͷมߋه࿥Λ ϦϞʔτɾϦϙδτϦʹΞοϓϩʔυ͢Δ͜ͱ શମʹڞ༗Ͱ͖ΔΑ͏ʹͳΔ 37
  8. 39 ϩʔΧϧɾϦϙδτϦ A ϩʔΧϧɾϦϙδτϦ B มߋ෼Λه࿥ push มߋ෼ΛऔΓࠐΈ pull ϦϞʔτɾϦϙδτϦ

    l Pull ϦϞʔτɾϦϙδτϦͷมߋه࿥Λ ϩʔΧϧɾϦϙδτϦʹμ΢ϯϩʔυ͢Δ͜ͱ
  9. ϩʔΧϧɾϦϙδτϦ A ϩʔΧϧɾϦϙδτϦ B มߋ෼Λه࿥ push มߋ෼ΛऔΓࠐΈ pull ϦϞʔτɾϦϙδτϦ l

    Pull ϦϞʔτɾϦϙδτϦͷมߋه࿥Λ ϩʔΧϧɾϦϙδτϦʹμ΢ϯϩʔυ͢Δ͜ͱ ϦϙδτϦ͸ৗʹ࠷৽ͷঢ়ଶ Ͱ͋Δ͜ͱ͕๬·͍͠ 40
  10. l Branch ཤྺͷྲྀΕΛ෼ذͯ͠ه࿥Ͱ͖Δɻ ෼ذͨ͠#SBODI͸ଞͷ#SBODIͷӨڹΛड͚ͳ͍ C D B A E F

    G H ϦϙδτϦ ϦϦʔε༻ Branch ػೳ௥Ճ༻ Branch όάमਖ਼༻ Branch 42
  11. C D B A ϦϙδτϦ master develop l merge develop

    branchͰίϛοτͨࠩ͠෼Λ master branchʹऔΓࠐΉ G H merge 46
  12. C D B A ϦϙδτϦ master develop G H merge

    conflict l conflict ಉ͡ϑΝΠϧΛผʑͷϒϥϯνͰมߋͯ͠ Ϛʔδͨ͠ࡍʹى͖ͯ͠·͏͜ͱ 48
  13. C D B A ϦϙδτϦ master develop G H merge

    conflict جຊతʹ͸ͲͪΒ͔ͷมߋΛऔΓࠐΉ͔ ฤूͯ͠ͲͪΒͷมߋ΋औΓࠐΊΔΑ͏ʹ͠·͢ 49
  14. ·ͱΊ l ϦϙδτϦ l ίϛοτ l ϓογϡ l ϓϧ l

    ϒϥϯν l Ϛʔδ l ίϯϑϦΫτ 50
  15. λεΫ؅ཧ ฤ l GitHub l Issue l Pull request l

    Branch model l Projects l ZenHub l Azure DevOps
  16. ͍͔ͭ͘issueςϯϓϨʔτͷྫΛ঺հ Feature request l ֓ཁ l ໨త l ఏҊ಺༰ l

    λεΫ Bug report l ֓ཁ l ࠶ݱखॱ l ݪҼ l λεΫ
  17. Pull requestͷઃఆ ໰୊Λղܾ͢ΔͨΊʹඞཁͳ ϨϏϡϫʔΛΞαΠϯ͠·͢ Label͸ͦͷissueͷλά෇͚ʹߦ͍·͢ label ͸ࣗ෼ͰฤूͰ͖ΔͷͰͦͷϓϩδΣΫτʹ͋͏ LabelΛઃఆ͠·͠Α͏ Project͸ޙ൒Ͱઆ໌͠·͕͢ɺ ͜͜Ͱ͸issueΛprojectʹొ࿥͢Δ͜ͱ͕Ͱ͖·͢

    ͦͷ໊ͷ௨ΓϚΠϧετʔϯΛઃఆͰ͖·͢ɻ εϓϦϯτظؒͳͲΛઃఆ͢Δͱྑ͖Ͱ͢ ࣗ਎ͷλεΫʹඞཁͳissue΍ඞཁͳ͍issue͸௨஌ͷ on/off͕Ͱ͖·͢ pull requestΛͨ͠ਓ΍ΞαΠϯ͞ΕͨਓΛઃఆ
  18. Ͳ͏͍͏͔Μ͹Μ͕͋Δͷʁ ྫʣFintechͷྫ TODO ɿ Readyঢ়ଶʹͳ͍ͬͯͳ͍λεΫ Ready ɿ Readyঢ়ଶͷλεΫ In Progress

    ݱࡏऔΓֻ͔͍ͬͯΔλεΫ Approve  ϚʔδͷڐՄ଴ͪλεΫ S0 Done  εϓϦϯτ͝ͱͷ Done͔Μ͹Μ
  19. 実際にどんな機能があるのか ◉ Board (JU)VC1SPKFDUTͱಉ͡Α͏ͳ͔Μ͹Μ CPBSE ◉ Milestones εΫϥϜͰ͍͏εϓϦϯτͷΑ͏ͳ࢖͍ํ΋Ͱ͖·͢ ◉ Reports

    ◉ Burndown charts όʔϯμ΢ϯνϟʔτ͕ΈΕ·͢ ◉ Velocity tracking ϕϩγςΟͷཤྺΛάϥϑͰݟΔ͜ͱ͕Ͱ͖·͢
  20. Azure Devopsͷػೳ ◉ Azure Boards (JU)VC1SPKFDUTͱಉ͡Α͏ͳ͔Μ͹Μ CPBSE ◉ Azure Pipelines

    εΫϥϜͰ͍͏εϓϦϯτͷΑ͏ͳ࢖͍ํ΋Ͱ͖·͢ ◉ Azure Repos GitHubのリポジトリと同じ機能 ◉ Azure Test Plans ◉ Azure Artifacts
  21. ·ͱΊ l GitHub l Issue l Pull request l Branch

    model l Projects l ZenHub l Azure DevOps
  22. ࢝ΊΔલʹ֬ೝ GitͰ࢖༻͢ΔσϑΥϧτͷeditorΛ ઃఆͯ͠ͳ͍৔߹͸ઃఆ͠·͠Α͏ $ git config --global -l $ git

    config --global core.editor vim ˣDPSFFEJUPS͕ઃఆ͞Ε͍ͯΔ͔֬ೝ͠·͠ΐ͏ ˣDPSFFEJUPS͕ઃఆ͞Ε͍ͯͳ͚Ε͹ઃఆ͠·͠ΐ͏ ࠓճ͸WJN
  23. ࠓͷঢ়ଶ : $ git checkout hoge A master hoge ϩʔΧϧɾ

    ϦϙδτϦ GitͰbranchΛ੾ͬͯΈΑ͏ HEAD hogeʹҠಈͨ͠ HEAD
  24. ࠓͷঢ়ଶ masterͷ࠷৽ίϛοτ͕ hogeͷίϛοτʹͳΓ·ͨ͠ A master hoge ϩʔΧϧɾ ϦϙδτϦ merge͠Α͏ HEAD

    master͕ͨͩhogeͷίϛοτ ʹҠಈ͚ͨͩ͠ͷ͜ͷঢ়ଶΛ 'BTU'PSXBSE ͱݴ͍·͢ B
  25. GitHub্ͷbranchΛϩʔΧϧʹ࡞੒͠·͢ $ git checkout –b “ローカルに作るブランチ名” “リモートブランチ名” or $ git

    checkout –t “リモートブランチ名” CheckoutʹzCzΛ͚ͭΔ͜ͱͰϒϥϯνΛ࡞੒͠ͳ͕Β ࡞੒ͨ͠ brunchʹҠಈͰ͖·͢ɻ Checkoutʹz-tzPSl--trackzͰϦϞʔτϒϥϯνͷ໊લΛҾ͖ܧ͍ͩ ϒϥϯν͕ϩʔΧϧʹੜ੒͞Ε·͢ɻ
  26. masterͱhoge2ͷίϯϑϦΫτΛղফͨ͠ commitΛੜ੒ A master ϩʔΧϧɾ ϦϙδτϦ ίϯϑϦΫτղফ·ͰͷྲྀΕ B hoge2 C

    D E Masterͱhoge2ͷมߋ෼Λ औΓࠐΜͩ৽͍͠ίϛοτz&z ͕ੜ੒͞ΕΔ HEAD
  27. l GUI(Graphical User Interface) Α͋͘ΔϚ΢ελονύουͱ͔Λ࢖ͬͯಈ͔ͤΔΠ ϯλʔϑΣʔεͷ͜ͱɻPC࢖͏ͱ͖ʹ͓ͳ͡ΈͷϑΥ ϧμΛΫοϦΫ͢ΔͱϑΝΠϧҰཡ͕ΈΕΔΑ͏ͳ࡞Γ ʹͳͬͯΔ΍ͭɻ؆୯͍͏ͱݟͨ໨͕͋Δ΍ͭ l CUI(character

    user interface) ΈΜͳ͕ߨٛͰ࢖͏Α͏ͳEmacsͱ͔Terminalͱ͔Ϛ ΢ε࢖͑ͳ͍ɺίϚϯυ͡Όͳ͍ͱಈ͔ͳ͍΍ͭɻ ؆୯ʹ͍͏ͱɺจࣈ͚ͩͷݟͨ໨ͳ΍ͭɻ GUI/CUIͱ͸ʁ