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
270
ゆめみ大技林を支える本作りの技術
macnekoayu
0
190
Vivliostyleの公式テーマをカスタマイズして、ゆめみ大技林 '22のテーマを作った
macnekoayu
0
2.9k
AutomatorでFFmpegを呼び出して動画ファイルをGIFに変換するフォルダアクションを作った
macnekoayu
1
4.6k
設計を知るための第一歩を踏み出そう
macnekoayu
2
4.9k
20190518-3dcg-meetup-slide.pdf
macnekoayu
0
10k
Azure Reposについて
macnekoayu
0
420
横田流進行管理術 〜 なんとなく進行管理から楽しい進行管理へ
macnekoayu
1
560
AppleScriptの概要と使い方
macnekoayu
2
1.7k
Other Decks in Technology
See All in Technology
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
240
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
480
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
360
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
100
Pwned Labsのすゝめ
ken5scal
2
460
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
Share my, our lessons from the road to re:Invent
naospon
0
150
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.3k
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
410
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
270
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Automating Front-end Workflow
addyosmani
1368
200k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
A Tale of Four Properties
chriscoyier
158
23k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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Λ͏
• ίϚϯυ֮͑Δ
バージョン管理で 心穏やかな日々を!
͝ΜΕͷϥϘ ͝ΜΕͷϥϘ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠