Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バージョン管理システムの概要と使い方
Search
macneko-ayu
November 09, 2017
Technology
0
860
バージョン管理システムの概要と使い方
2017/10/21に開催された「【DTPの勉強会 第26回】DTPスクリプト・プロフェッショナルの思考や管理の中身をみてみよう」に登壇させていただいたときの資料です。
macneko-ayu
November 09, 2017
Tweet
Share
More Decks by macneko-ayu
See All by macneko-ayu
ゆめみ大技林について
macnekoayu
0
350
ゆめみ大技林を支える本作りの技術
macnekoayu
0
230
Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った
macnekoayu
0
3.1k
AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った
macnekoayu
1
4.7k
設計を知るための第一歩を踏み出そう
macnekoayu
2
5k
20190518-3dcg-meetup-slide.pdf
macnekoayu
0
11k
Azure Reposについて
macnekoayu
0
440
横田流進行管理術 〜 なんとなく進行管理から楽しい進行管理へ
macnekoayu
1
590
AppleScriptの概要と使い方
macnekoayu
2
1.7k
Other Decks in Technology
See All in Technology
With Devin -AIの自律とメンバーの自立
kotanin0
2
960
AIエージェントを支える設計
tkikuchi1002
12
2.6k
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
290
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
180
MCPと認可まわりの話 / mcp_and_authorization
convto
2
340
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
380
恐怖!テストコードなき夜
tsukuboshi
2
110
私とAWSとの関わりの歩み~意志あるところに道は開けるかも?~
nagisa53
1
140
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
0
230
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
280
Rubyの国のPerlMonger
anatofuz
0
300
ファインディにおける Dataform ブランチ戦略
hiracky16
0
230
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Code Reviewing Like a Champion
maltzj
524
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Balancing Empowerment & Direction
lara
1
510
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
How GitHub (no longer) Works
holman
314
140k
Writing Fast Ruby
sferik
628
62k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Language of Interfaces
destraynor
158
25k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Building Applications with DynamoDB
mza
95
6.5k
Transcript
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ όʔδϣϯཧγεςϜͷ֓ཁͱ ͍ํ ԣా࣍
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ࣗݾհ ໊લɿԣా࣍ 4/4ɿ!NBDOFLP@BZVʢ͜͏ͪΌΜࠇೣ·ΈΕʣ ॴଐɿגࣜձࣾROPUF ݱ৬ɿՈͰϨϊ͘ΜͷͪΌΜͱͯ͠ɺ ɹɹɹձࣾͰඖͷೣࣾһͷੈͱͯ͠ɺ ɹɹɹʑೣ༷ʹ͖͜ΘΕ͍ͯΔεϚϗΞϓϦ։ൃऀ લ৬ɿ%51ਐߦཧ݉ΦϖϨʔλʔ݉εΫϦϓτ։ൃऀ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ࣗݾհ • εΫϦϓτྺऑ͘Β͍ • 1$ͷதͷࣗͷॻ͍ͨεΫϦϓτΛݕࡧͨ͠ ‣ &YUFOE4DSJQUɺݸ͙Β͍ ‣
"QQMF4DSJQUɺݸ͙Β͍ • εΫϦϓτॻ͖ࣺͯΔ͜ͱ͕ଟ͍ͷͰɺ ߦํෆ໌ͳͷ͕ଟ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ • ͝ΜΕͷϥϘ ‣ J04ɺ"OESPJEɺ "EPCFܥιϑτͷࣗಈԽεΫϦϓτͳͲͷ ϝϞ݉༻ϒϩά ‣ IUUQXXXNBDOFLPDPN
ϒϩάհ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ • %51FSͷεΫϦϓτ͘͘ձ ‣ εΫϦϓτΛॻ͍ͯΔਓɺॻ͖͍ͨͱࢥ͍ͬͯΔਓ͕ ू·ͬͯɺษڧͰ͖ΔɻࢀՃऀಉ࢜Ͱڭ͑͋ͬͨΓɺ ٞͨ͠Γɺͨ͘͘͠ΓɺΘ͍Θ͍͢Δॴ ‣ ִ݄։࠵ɺ࣍ճ։࠵ʢʣ
‣ IUUQTEUQNLNLDPOOQBTTDPN ‣ ࢀՃऀืूதʂ ओ࠵͍ͯ͠Δ͘͘ձ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ όʔδϣϯཧɺͯ͠·͔͢ʁ • ຊηογϣϯͰɺϑΝΠϧͷมߋཤྺΛཧͯ͠ɺ ಛఆͷόʔδϣϯʹ͢͜ͱΛՄೳʹ͢Δ͜ͱΛ όʔδϣϯཧͱ͢Δ • %51Ͱྫ͑Δͱɺఔ͝ͱʹ൛ߍਖ਼༻ࢴΛཧ͠ɺ ͳʹ͔͋ͬͨͱ͖ʹલఔͷঢ়ଶΛ֬ೝͰ͖ΔΑ͏ʹ
อͭ͜ͱ
͝ΜΕͷϥϘ • ۙͳόʔδϣϯཧख๏ ‣ ϑΝΠϧΛίϐʔͯ͠ϑΝΠϧ໊Λม͑ͯཧ͢Δ ‣ ϑΝΠϧΛผͷσΟϨΫτϦʹίϐʔͯ͠ཧ͢Δ ‣ αʔόʹ͋ΔϑΝΠϧΛϩʔΧϧʹίϐʔͯ͠ཧ͢Δ •
อଘ͢ΔॴΛϑΝΠϧ໊ͷҰ෦ͱͯ͠ߟ͑Δͱɺ ϑΝΠϧ໊Λมߋͯ͠όʔδϣϯཧΛ͍ͯ͠Δ ͝ΜΕͷϥϘ ϑΝΠϧ໊όʔδϣϯཧ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ϑΝΠϧ໊όʔδϣϯཧͷ • ࣮ࡍʹӡ༻͢Δͱ͕ى͖͍͢͜ͱʹؾͮ͘ ϑΝΠϧ໊Λ͚ؒҧ͑ͯ͠·ͬͨ ʢ࿈൪ҧ͍ɺҧ͍ͳͲʣ ϑΝΠϧΛίϐʔͨ͠ॴΛΕͯ͠·ͬͨ ϑΝΠϧͷίϐʔ࣌ʹޡͬͯաڈͷϑΝΠϧʹ্ॻ͖
ͯ͠͠·ͬͨ • ࣅͨΑ͏ͳܦݧΛ͓࣋ͪͷํଟ͍ͣ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͳ͕ͥى͖͍͢ͷ͔ • ݪҼͭ͋Δ ཧ͢ΔϑΝΠϧͦͷͷΛૢ࡞ͯ͠ όʔδϣϯཧΛߦ͍ͬͯΔ ཤྺͷཧΛਓؒͷهԱʹཔ͍ͬͯΔ • Λղܾ͢Δํ๏ͱͯ͠ɺ
όʔδϣϯཧγεςϜͷಋೖΛఏҊ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ όʔδϣϯཧγεςϜͱ • 8JLJQFEJBΑΓҾ༻ lόʔδϣϯཧγεςϜͷ࠷جຊతͳػೳɺϑΝΠ ϧͷ࡞࣌ɺมߋ࣌ɺมߋͳͲͷཤྺΛอ͢Δ ͜ͱͰ͋Δɻ͜ΕʹΑΓɺԿมߋΛՃ͑ͨϑΝΠϧ Ͱ͋ͬͯɺաڈͷঢ়ଶมߋ༰Λ֬ೝͨ͠Γɺมߋલ ͷঢ়ଶΛ෮ݩ͢Δ͜ͱ͕༰қʹͳΔɻʙʢུʣz
https://ja.wikipedia.org/wiki/όʔδϣϯཧγεςϜ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ όʔδϣϯཧγεςϜͷಋೖ • όʔδϣϯཧγεςϜΛಋೖ͢Δͱɺ ϑΝΠϧ໊όʔδϣϯཧΑΓ҆શͰɺ ͔ͭศརʹόʔδϣϯཧΛߦ͏͜ͱ͕Մೳ • Ͳ͏ͯ҆͠શͳͷ͔ɺͲ͏ͯ͠ศརͳͷ͔ʹ͍ͭͯɺ όʔδϣϯཧγεςϜͷ(JUͷհͱͱʹઆ໌
͝ΜΕͷϥϘ • ϑΝΠϧͷՃɺআɺ༰มߋͳͲͷมߋཤྺΛ ϦϙδτϦͱݺΕΔॴʹอଘ͠ɺ աڈͷཤྺͷ֬ೝɺมߋ༰ͷ֬ೝɺ มߋલͷঢ়ଶͷ෮ݩͳͲΛՄೳʹ͢Δ • ϦϙδτϦͷछྨ ‣ ϩʔΧϧʢࣗͷ1$ʣʹஔ͢ΔϩʔΧϧϦϙδτϦ
‣ αʔόʹஔ͢ΔϦϞʔτϦϙδτϦ ͝ΜΕͷϥϘ (JUͱ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ΑΓৄ͘͠Γ͍ͨํ • (JUͷެࣜαΠτ ‣ IUUQTHJUTDNDPN • (JUͷެࣜυΩϡϝϯτ ‣
IUUQTHJUTDNDPNCPPLKBW
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ • ༻ޠίϚϯυʹ͍ͭͯɺࢿྉΛࢀর • खॱΛઆ໌͠ͳ͕ΒɺλʔϛφϧͰσϞ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ ϑΥϧμΛ࡞ͯ͠ɺҠಈ $ mkdir Sample $ cd Sample
ϩʔΧϧϦϙδτϦΛ࡞ ˞ॳճͷΈඞཁ $ git init
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ ϫʔΫπϦʔʢ(JUཧԼʹ͋Δ࡞ۀ༻ͷσΟϨΫτϦʣ ʹϑΝΠϧΛՃɺ·ͨϑΝΠϧͷ༰Λมߋ $ touch sample.jsx ϫʔΫπϦʔͷϑΝΠϧͷঢ়ଶΛ֬ೝ $
git status
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ Ճɾมߋͨ͠ϑΝΠϧΛεςʔδϯάɾΤϦΞ ʢίϛοτ͢ΔϑΝΠϧΛه͢Δॴʣʹొ $ git add sample.jsx ϫʔΫπϦʔͷϑΝΠϧͷঢ়ଶΛ֬ೝ
$ git status
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ ίϛοτʢεςʔδϯάɾΤϦΞʹొ͞Εͨมߋର ΛϦϙδτϦʹөʣ͢Δ $ git commit -m ϑΝΠϧΛՃ
ϫʔΫπϦʔͷϑΝΠϧͷঢ়ଶΛ֬ೝ $ git status • खॱʙΛ܁Γฦ͠ɺมߋཤྺΛه
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ • มߋཤྺΛه͢Δ͜ͱʹΑΓɺ͍ͭͰϑΝΠϧΛ աڈͷঢ়ଶʹ͢͜ͱ͕Մೳ • ࢲͷதͰόʔδϣϯཧγεςϜͷҰ൪ͷར
͝ΜΕͷϥϘ • ҰൠతʹɺదٓϒϥϯνΛ࡞ͯ͠ɺ ৽ػೳͷ։ൃόάͷमਖ਼Λߦ͏͜ͱ͕ଟ͍ ‣ ࡞ͨ͠ϒϥϯν࠷ऴతʹNBTUFSʹϚʔδ͢Δ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUͷόʔδϣϯཧͷखॱ • ϦϞʔτϦϙδτϦͱ࿈ܞ͢Δ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUΛ4PVSDF5SFF͔Β͏ • ίϚϯυΛλʔϛφϧͰೖྗ͢ΔҎ֎ͷํ๏ͱͯ͠ (6*πʔϧΛ༻͢Δํ๏͕͋Δ • (6*Ͱૢ࡞͍ͨ͠ํɺ4PVSDF5SFF͕͓͢͢Ί • 4PVSDF5SFFͱ
‣ ࢼ༻ظؒؒɻϢʔβొ͢Δͱܧଓͯ͑͠Δ ‣ IUUQTKBBUMBTTJBODPNTPGUXBSFTPVSDFUSFF
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUΛ4PVSDF5SFF͔Β͏ • 4PVSDF5SFFΛ༻͢ΕɺλʔϛφϧͰίϚϯυΛ ೖྗ͢Δ͜ͱͳ͘ɺόʔδϣϯཧΛߦ͏͜ͱ͕Մೳ • 4PVSDF5SFF͕ཪଆͰίϚϯυૢ࡞Λͯ͘͠ΕΔ • 4PVSDF5SFFͰͲͷΑ͏ʹόʔδϣϯཧΛߦ͏͔ɺ
खॱʹԊͬͯσϞΛ͠·͢
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ (JUΛ4PVSDF5SFF͔Β͏ • (6*Ͱૢ࡞Ͱ͖ΔͷͰศར • 4PVSDF5SFFΛ͏͜ͱͰɺ (JUΛ༻͢Δ͜ͱͷϋʔυϧ֨ஈʹԼ͕Δ • ίϚϯυͷ΄͏͕Γ͍͢߹͋ΔͷͰɺ
ίϚϯυ֮͑Δ • ຊηογϣϯͷͨΊʹվΊͯษڧ͕ͨ͠ɺ ؆୯ͳૢ࡞ίϚϯυͷ΄͏͕ૣ͍͜ͱ͋Δ ‣ ୯७ͳίϛοτͳͲ
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ࠓ͓ͨ͜͠ͱ • ϑΝΠϧ໊όʔδϣϯཧΛଔۀͯ͠ɺ όʔδϣϯཧγεςϜΛಋೖ͢Δ • (JUʹ৮ΕΔ • 4PVSDF5SFFΛ͏
• ίϚϯυ֮͑Δ
バージョン管理で 心穏やかな日々を!
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠