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
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
バージョン管理システムの概要と使い方
2017/10/21に開催された「【DTPの勉強会 第26回】DTPスクリプト・プロフェッショナルの思考や管理の中身をみてみよう」に登壇させていただいたときの資料です。
macneko-ayu
November 09, 2017
More Decks by macneko-ayu
See All by macneko-ayu
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
470
ゆめみ大技林について
macnekoayu
0
460
ゆめみ大技林を支える本作りの技術
macnekoayu
0
280
Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った
macnekoayu
0
3.4k
AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った
macnekoayu
1
5.1k
設計を知るための第一歩を踏み出そう
macnekoayu
2
5.4k
20190518-3dcg-meetup-slide.pdf
macnekoayu
0
11k
Azure Reposについて
macnekoayu
0
470
横田流進行管理術 〜 なんとなく進行管理から楽しい進行管理へ
macnekoayu
1
670
Other Decks in Technology
See All in Technology
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
0
2.9k
SRE Lounge Hiroshimaへの招待
grimoh
0
360
キャリアの中で本を作る / Making a Book During Your Career
ak1210
0
110
AI Driven AI Governance
pict3
0
160
どうして今サーバーサイドKotlinを選択したのか
nealle
0
210
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
990
Claude Codeとハーネスについて考えてみる
oikon48
18
8.7k
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
0
1.3k
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
300
product engineering with qa
nealle
0
150
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
0
130
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
310
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
New Earth Scene 8
popppiees
3
2.4k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Producing Creativity
orderedlist
PRO
348
40k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
300
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
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Λ͏
• ίϚϯυ֮͑Δ
バージョン管理で 心穏やかな日々を!
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠