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
850
バージョン管理システムの概要と使い方
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
280
ゆめみ大技林を支える本作りの技術
macnekoayu
0
210
Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った
macnekoayu
0
3k
AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った
macnekoayu
1
4.6k
設計を知るための第一歩を踏み出そう
macnekoayu
2
4.9k
20190518-3dcg-meetup-slide.pdf
macnekoayu
0
10k
Azure Reposについて
macnekoayu
0
430
横田流進行管理術 〜 なんとなく進行管理から楽しい進行管理へ
macnekoayu
1
580
AppleScriptの概要と使い方
macnekoayu
2
1.7k
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
ペアーズにおけるData Catalog導入の取り組み
hisamouna
0
250
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
1.8k
ウォンテッドリーにおける Platform Engineering
bgpat
0
170
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.3k
”知のインストール”戦略:テキスト資産をAIの文脈理解に活かす
kworkdev
PRO
8
2.7k
入社後SREチームのミッションや課題の整理をした話
morix1500
1
210
製造業の会計システムをDDDで開発した話
caddi_eng
3
1.1k
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
200
コンソールで学ぶ!AWS CodePipelineの機能とオプション
umekou
3
130
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
260
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
120
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Side Projects
sachag
452
42k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
GraphQLとの向き合い方2022年版
quramy
45
14k
Docker and Python
trallard
44
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
How STYLIGHT went responsive
nonsquared
99
5.4k
The Invisible Side of Design
smashingmag
299
50k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Adopting Sorbet at Scale
ufuk
75
9.3k
How to train your dragon (web standard)
notwaldorf
91
5.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
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Λ͏
• ίϚϯυ֮͑Δ
バージョン管理で 心穏やかな日々を!
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠