Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gitの思想を理解する
Search
kondo takeshi
February 23, 2018
Technology
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gitの思想を理解する
kondo takeshi
February 23, 2018
Other Decks in Technology
See All in Technology
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
230
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
130
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
540
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
Kiro Crewをはじめよう
kizawa2020
1
160
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
継続的なAIコスト最適化
bgpat
1
340
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
460
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
The SEO identity crisis: Don't let AI make you average
varn
0
590
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
What's in a price? How to price your products and services
michaelherold
247
13k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
We Are The Robots
honzajavorek
0
400
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Transcript
GitͷࢥΛཧղ͢Δ 2018/02/01 ࣾษڧձ kondo takeshi
͓͠ͳ͕͖ • ࣗݾհ • ൃදͷΰʔϧ • VCS(Version Control System)ͷ •
Gitͷ • GitΛͬͨιʔγϟϧίʔσΟϯάͷ
ࣗݾհ • kondo takeshi • https://qiita.com/tk117
ࢲͱGit • 2014 … ೖࣾʙݚम • 2015 … ϓϥΠϕʔτΫϥυཧ։ൃɾอक •
2016લ…ϓϥΠϕʔτΫϥυ։ൃɾอक • 2016ޙ…ϓϥΠϕʔτΫϥυ։ൃ CI/CDಋೖ • 2017 … RDBMSͷupgrade ݚमͰDPOqJDUࠈɺ(JUۤखҙࣝ 47/͕ͩ͋·Γ֮͑ͯͳ͍ ࣗͰ(JUMBCΛཱͯͯͳΜͰ(JUʹอଘ͢ΔΑ͏ʹ ΊͬͪΌ(JUͬͨɻਐḿใࠂ(JU
ࡢهࣄॻ͍ͨ • ࠓͪΐ͍ͪΐ͍ग़·͢
ൃදͷΰʔϧ • Git৴ऀʹͳΔ͜ͱ • GitͷࢥΛཧղ͢Δ͜ͱ • ͳΜͷͨΊʹGitΛ͏͔ཧղ͢Δ͜ͱ • ԿΛGitͰ͖͢Ͱͳ͍͔ཧղ͢Δ͜ͱ
VCS(Version Control System) ͷ • ࣗݾհ • ൃදͷΰʔϧ • VCS(Version
Control System)ͷ • ͳͥVCSΛ͏ͷ͔ • VCSͷྺ࢙ • GitͱSubversionͷൺֱ • commitͷཻΛߟ͑Δ • VCSΛ͏্Ͱ৺͕͚Δ͜ͱ • Gitͷ • GitΛͬͨιʔγϟϧίʔσΟϯάͷ
ͳͥVCSΛ͏ͷ͔ • QiitaͲ͏ͧ
VCSͷมભ
GitͱSubversionͷҧ͍ • ूதܕ͔ࢄܕ͔େͨ͠Ͱͳ͍ • ࢥ͕ҧ͏ • http://local.joelonsoftware.com/wiki/ࢄόʔδϣϯཧͰؒҧ͍ͳ͍ͬͯɺϕΠϏʔ
CommitͷཻΛߟ͑Δ • QiitaͲ͏ͧ
VCSΛ͏্ͰؾΛ͚ͭΔ͜ͱ • GitͷϚΠϯυηοτΛ࣋ͭ͜ͱ • νΣϯδηοτ(มߋ)ͷੵΈॏͶͰ͋Δ • ͯ͢νΣϯδηοτͰ͋Δ • զʑͷؔ৺νΣϯδηοτʹ͋Δ
Gitͷ • ࣗݾհ • ൃදͷΰʔϧ • VCS(Version Control System)ͷ •
Gitͷ • Gitͷ෦ߏ • Gitૉͳٙ • Gitॳ৺ऀΞϯνύλʔϯ • GitΛͬͨιʔγϟϧίʔσΟϯάͷ
Gitͷ෦ߏ • ࣌ؒෆʹΑΓஅ೦ʂ·ͨΒ͍ͤͯͩ͘͞ʂ • /gitҎԼʹͯ͋͢Δ • ࢀরͷϦϨʔ • https://www.amazon.co.jp/ΤϯδχΞͷͨΊͷGitͷڭՊॻʦ্ڃฤʧ-Git෦ͷΈΛཧղ͢Δ-Տଜޛ-ebook/dp/B01AAIN85K
Gitૉͳٙ • push͢ΔͱౖΒΕΔͷͳΜͰ • mergeͬͯͳʹ • pullͬͯͳʹ • rebaseͬͯͳʹ
push͢ΔͱౖΒΕΔͷͳΜͰ • ͓·͑ͷbranchͷઌremoteͷbranchʹର ͯ͠ΕͯΔͥɻremoteͷมߋΛखݩʹmerge ͯ͠Γͯ͘͠ΕΑͳɻ • ͪͳΈʹmergeʹmergeઓུ͕͍͔ͭ͘छྨ͕͋Δɻmerge-strategiesɹhttps://git-scm.com/docs/merge-strategies <SFKFDUFE>NBTUFSNBTUFS OPOGBTUGPSXBSE
FSSPSGBJMFEUPQVTITPNFSFGTUPIPHFIPHF IJOU6QEBUFTXFSFSFKFDUFECFDBVTFUIFUJQPGZPVSDVSSFOUCSBODIJTCFIJOE IJOUJUTSFNPUFDPVOUFSQBSU.FSHFUIFSFNPUFDIBOHFT FHHJUQVMM IJOUCFGPSFQVTIJOHBHBJO IJOU4FFUIF/PUFBCPVUGBTUGPSXBSETJOHJUQVTIIFMQGPSEFUBJMT local remote push
Mergeͬͯͳʹ • ͪͳΈʹmergeʹmergeઓུ͕͍͔ͭ͘छྨ͕͋Δɻmerge-strategiesɹhttps://git-scm.com/docs/merge-strategies local remote merge .FSHF $PNNJU
Pullͬͯͳʹ • fetch + merge • git pull ͱ git
pull –rebase ͷҧ͍ͬͯʁਤΛަ͑ͯઆ໌͠·͢ʂ http://kray.jp/blog/git-pull-rebase/ • pullίϚϯυΘͳ͍͍ͯ͘ͱ͍͏આ͋Δ • Git pullΛ͏͖Ͱͳ͍̏ͭͷཧ༝ http://dqn.sakusakutto.jp/2012/11/git_pull.html SFNPUF CSBODI SFNPUF CSBODI MPDBMCSBODI fetch merge rebase push local remote
Rebaseͬͯͳʹ • base(ج४)ͱͳΔbranchΛ࠶औΓࠐΉ • commit-id͕มΘΔͷͰݏΘΕΔ͜ͱ • -iͰinteractiveϞʔυɺաڈΛฤू͢Δ • ੋඇ֮͑ͯཉ͍͠ local
remote rebase
Gitॳ৺ऀΞϯνύλʔϯ • GUI • git add . • όΠφϦϑΝΠϧΛνΣοΫΠϯ
GUI • ؾ࣋ͪΘ͔Δɺ͕ͩCLI͔Βͩ • git for windowsΛ͍Εͯgit bash • ͘͠Linux
• GUI׳Ε͔ͯΒͶɺଋͩΑ
git add . • ༧ظ͠ͳ͍ϑΝΠϧ͕νΣοΫΠϯ͞ΕΔ • secretϑΝΠϧ • ݸਓใ •
ରࡦ • git add -p • git diff —cached • git status
όΠφϦϑΝΠϧΛνΣοΫΠϯ • Gitมߋʹؔ৺Λ࣋ͭࢥʹ͢Δ • ͱ͍͑ɺΒͳ͍Θ͚Ͱͳ͍(^ ^; • ରࡦ • buildޙͷύοέʔδͳͲmakefileΛνΣοΫΠϯ
͠ɺCIͰbuild͠Α͏ • Git LFS(Large File Storage)Λ͓͏
GitΛͬͨιʔγϟϧίʔσΟ ϯάͷ • ࣗݾհ • ൃදͷΰʔϧ • VCS(Version Control System)ͷ
• Gitͷ • GitΛͬͨιʔγϟϧίʔσΟϯάͷ • github / gitlabͷొ • gitflowͱgithub flow
Github / Gitlabͷొ • ιʔγϟϧίʔσΟϯάΛڧྗʹࢧ͑Δػೳ • Pull Request / Merge
Request • markdownαϙʔτ(github flavored markdown) • CI / CD࿈ܞ
Git-flowͱGithub-flow • Git-flow • ϒϥϯνϞσϧɺ·ͨͦΕΛࢧ͑Δπʔϧ • A successful Git branching
model • https://qiita.com/homhom44/items/9f13c646fa2619ae63d0 • Github-flow • Git-flowΑΓγϯϓϧͳϒϥϯνϞσϧ • https://gist.github.com/Gab-km/3705015
·ͱΊ • GitͷϚΠϯυηοτΛ࣋ͱ͏ • GitίϚϯυͷҙຯΛཧղ͓ͯ͠͏ • Github / GitlabΛ׆༻ָͯ͘͠͠։ൃ͠Α͏