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
870
バージョン管理システムの概要と使い方
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
380
ゆめみ大技林について
macnekoayu
0
400
ゆめみ大技林を支える本作りの技術
macnekoayu
0
240
Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った
macnekoayu
0
3.1k
AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った
macnekoayu
1
4.8k
設計を知るための第一歩を踏み出そう
macnekoayu
2
5.1k
20190518-3dcg-meetup-slide.pdf
macnekoayu
0
11k
Azure Reposについて
macnekoayu
0
450
横田流進行管理術 〜 なんとなく進行管理から楽しい進行管理へ
macnekoayu
1
610
Other Decks in Technology
See All in Technology
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
480
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
2.1k
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
6
1.5k
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
13
4.7k
バクラクの AI-BPO を支える AI エージェント 〜とそれを支える Bet AI Guild〜
tomoaki25
2
780
[mercari GEARS 2025] Keynote
mercari
PRO
1
310
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
170
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
360
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
0
370
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
3
1k
re:Invent2025 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
150
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
750
Typedesign – Prime Four
hannesfritz
42
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Ace a Technical Interview
jacobian
280
24k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Pragmatic Product Professional
lauravandoore
36
7k
Git: the NoSQL Database
bkeepers
PRO
432
66k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
We Have a Design System, Now What?
morganepeng
54
7.9k
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Λ͏
• ίϚϯυ֮͑Δ
バージョン管理で 心穏やかな日々を!
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠