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
実務で失敗しない「GitHub」
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tonoyama
January 10, 2021
Programming
350
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実務で失敗しない「GitHub」
学内の勉強会で発表したスライド達です。
Tonoyama
January 10, 2021
More Decks by Tonoyama
See All by Tonoyama
LINE Botで「しりとり」を作ろう
tonoyama
0
510
情報特許論「新しいディスプレイ」
tonoyama
0
430
特許「量子ニューラルネットワーク」について
tonoyama
0
80
今年の目標と注目技術
tonoyama
2
160
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
130
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
330
RTSPクライアントを自作してみた話
simotin13
0
600
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
340
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.1k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
240
Lessons from Spec-Driven Development
simas
PRO
0
190
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
230
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Everyday Curiosity
cassininazir
0
230
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
KATA
mclloyd
PRO
35
15k
Statistics for Hackers
jakevdp
799
230k
Transcript
࣮Ͱࣦഊ͠ͳ͍ʮ(JU)VCʯ ʙޮྑ͘ɺਖ਼֬ʹࣄΛ͜ͳ͢ʙ 1
ࣗݾհ 2 !5POPZBNB 5XJUUFSɿ!ZVEBJUPOPZBNB ژͷ8FCܥࣗࣾ։ൃاۀʹͯओʹ +BWB4DSJQUΛ͍։ൃͷΞϧόΠτΛ ͍ͯ͠·͢ɻ࠷ۙɺ($1ͷ"1*ؔ࿈ झຯɿඒຯ͍͠ྉཧΛ৯Δ͜ͱ
ࠓճͷ࣍ ͡Ίʹ ࣄͰͷ(JU)VCϑϩʔ (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ ɾ։ൃ։࢝ʂ ɾ࣍ͷ։ൃ (JU)VCΛศརʹ͢Δπʔϧɾখٕ 3
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 4
͡Ίʹ 5
جຊɺ࣮ͷ(JU)VCͰ͍͜͠ͱ͠ͳ͍ 6 جຊతʹਓͰϦϙδτϦʹQVTI͢Δͷͱ มΘΒͳ͍ɻϒϥϯνͷૢ࡞͕ೖΔఔɻ ͔͠͠ɺ ;ͱͨ͠ෆҙΞΫγσϯτͰ Β͔ͨ͠߹ɺ͙͢ʹదʹରॲͰ͖Δ͔ ͰਐͱਓࣄධՁʹେ෯ͳ͕ࠩੜ·ΕΔɻ ॳ৺ऀ ܦݧऀ
ޙ ޙ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 7
ࣄͰͷ(JU)VC 8
ݸਓͱࣄͰҧ͏(JU)VCૢ࡞ͷ ݸਓ ձࣾ ݸਓ ࣗͷϑΝΠϧ͕ফࣦͯࣗ͠ͷɻ ϦϙδτϦͷ࡞Γͳ͓͠Ͱ͖Δ ձࣾ ਐ͕େ෯ʹΕͯ͠·͏ɻ ࠷ѱɺ͕ফ͑ͨ߹ɺଞͷϝϯόʔ ͚ͩͰͳ͘ɺձࣾશମʹ໎͕͔͔Δɻ
ࣦഊ͠ͳ͍ͨΊͷ͕ࣝඞཁ 9 ˣ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 10
(JU)VCϑϩʔ͔ΒݟΔ ҙͱΒ͔͠ 11
ීஈͷ(JU)VCϑϩʔ 12 ࣗ ઌഐ νʔϜϦʔμ ϨϏϡʔ ֬ೝ ࠓճϨϏϡʔΛड͚ΔϓϧϦΫ ͷલʢ(JU)VCͷૢ࡞ʣ·Ͱͷ
(JU)VCͰΑ͘͏ίϚϯυΛ࣌ܥྻॱʹհ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ
HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 13
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 14
։ൃͷ४උ 15
ϒϥϯν໊ΛදࣔͰ͖ΔΑ͏ʹ͢Δ 16 $ sudo nano ~/.bashrc 下記のShellをコピペ(Ubuntu, bashの場合) if [
-f /etc/bash_completion ]; then . /etc/bash_completion fi if [ -f /etc/bash_completion.d/git-prompt ]; then export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w$(__git_ps1) ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' else export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' fi $ source ~/.bashrc
HJUDPOGJHϢʔβʔใΛೖྗ 17 طଘͷϦϙδτϦΛμϯϩʔυʢίϐʔʣ͢Δ $ git config --global user.name “ࣗͷGitHubϢʔβʔ໊” $
git config --global user.email “GitHubͷϝʔϧΞυϨε” ֬ೝ $ cat ~/.gitconfig [user] name = 自分のGitHubユーザ名 email = GitHubのメールアドレス
ϦϙδτϦΛGPSL͢Δ 18 044ʹϓϧϦΫΛߦ͏߹ɺGPSLͯ͠ϓϧϦΫ (JU)VC5FBNTΛ͏߹ɺDPOUSJCVUPSͱͯ͠ ΞΧϯτΛՃͯ͠Β͍ɺϓϧϦΫ ʮ'PSLʯ Λ ΫϦοΫ
HJUDMPOFʢΪοτ Ϋϩʔϯʣ 19 طଘͷϦϙδτϦΛμϯϩʔυʢίϐʔʣ͢Δ $ git clone [URL]
HJUDMPOFʢΪοτ Ϋϩʔϯʣ 20
HJUCSBODI<ϒϥϯν໊>ʢΪοτ ϒϥϯνʣ ৽͍͠ϒϥϯνΛ࡞͢Δ ϒϥϯνͷ໊લΛؒҧͬͯ͠·ͬͨ߹ $ git branch -m [古いブランチ名] [新しいブランチ名]
ϒϥϯνΛআ͢Δ߹ $ git branch -d [ブランチ名] 21
HJUCSBODI<ϒϥϯν໊>ʢΪοτ ϒϥϯνʣ 22
⚠Β͔͠ҙ ϒϥϯνͷ࡞NBTUFSͰߦ͏ ࡞ۀϒϥϯνͰϒϥϯνΛΔʢ৽ ͍͠ϒϥϯνΛ࡞Δʣͱ มߋ༰ΛऔΓࠐΉͨΊɺ ίϯϑϦΫτʹ͕᷷ͬͯ͠·͏ɻ ˣ มߋ͍ͯ͠ͳ͍NBTUFSϒϥϯνͰ ϒϥϯνΛΔ 23
新しいブランチ ৽͍͠ϒϥϯν͕ લͷϒϥϯνͷมߋ ϑΝΠϧΛ࿈ΕࠐΉਤ
HJUTXJUDI<ϒϥϯν໊>ʢΪοτ εΠονʣ 24 ϒϥϯνΛҠಈ͢Δ $ git switch[ブランチ名]
HJUTXJUDI<ϒϥϯν໊>ʢΪοτ εΠονʣ 25
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 26
։ൃ։࢝ 27
(JU)VCͰΑ͘͏ίϚϯυΛ࣌ܥྻॱʹհ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ HJUSFNPUFBEEPSJHJO<ϦϙδτϦ63->cͲͷ63-ʹQVTI͢Δ͔ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ
HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 28
HJUTUBUVTʢΪοτ εςʔλεʣ 29 ࠓͷϑΝΠϧͷঢ়ଶΛ֬ೝ͢Δ $ git status ͘؆ܿʹදࣔ͢Δ $ git
status –s ͘දࣔ͠ɺͲͷϒϥϯνͷใͳͷ͔දࣔ͢Δ $ git status -b
HJUTUBUVTʢΪοτ εςʔλεʣ 30
HJUBEEʢΪοτ Ξυʣ 31 มߋϑΝΠϧΛΠϯσοΫεʹՃ͠ɺ ίϛοτରʹ͢Δ $ git add [ファイル名] ϫʔΫπϦʔɿ࡞ۀॴ
ΠϯσοΫεɿ ίϛοτΛอଘ͢Δॴɻ εςʔδϯάΤϦΞͱݴ͏ɻ มߋϑΝΠϧΛΠϯσοΫεʹՃ͢Δ͜ͱΛ εςʔδϯάͱݴ͏ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ HJUBEE HJUDPNNJU
HJUBEEʢΪοτ Ξυʣ 32
⚠Β͔͠ҙ HJUBEEΘͳ͍ 33 $ git add . શͯͷϑΝΠϧΛҰؾʹεςʔδϯάͰ ͖Δ͕༨ܭͳϑΝΠϧΛؚΉ߹͕͋Δͨ Ίɺجຊ͠ͳ͍ɻ
͠ΔͳΒ.gitignoreͰ༨ܭͳϑΝΠ ϧ͕ೖΒͳ͍Α͏ʹ͢ΔͳͲྀ͕ඞཁɻ ༨ܭͳϑΝΠϧ͕ ೖΓࠐΈ࡞ۀΛ अຐ͢Δਤ :PV
༨ܭͳϑΝΠϧΛHJUBEE Β͔͠ɿ˒ˑˑ 34 มߋ༰͕ফ͑ΔͷͰɺͲ͔͜ʹιʔεί ʔυΛίϐϖ͠อଘ͓͖ͯ͠·͢ɻ $ git reset HEAD git
initޙͷ߹ɺ $ git rm --cached -r [ファイル名]
HJUDPNNJUʢΪοτ ίϛοτʣ 35 ΠϯσοΫεͷϑΝΠϧΛ ϩʔΧϧϦϙδτϦʹอ͢Δ $ git commit -m “メッセージ”
લͷίϛοτϝοηʔδΛमਖ਼͍ͨ͠߹ $ git commit --amend -m “新しいメッセージ” աڈͷίϛοτϝοηʔδΛݟ͍ͨ $ git log ͜ͷͱ͖ɺίϛοτϝοηʔδ ଞਓ͕͋ͱ͔Βݟ͔ͯΔΑ͏ʹॻ͘ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ
HJUDPNNJUʢΪοτ ίϛοτʣ 36
Θ͔Γ͍͢DPNNJUϝοηʔδΛ 37 DPNNJUϝοηʔδɺ ଞਓ͕͋ͱ͔Βݟͯ֓ཁ͕͔Δ Α͏ʹॻ͘ ςετ༷ॻͷهࡌ༰ͱίʔυ͕ҧ͏ɺ ؔ࿈όάͷमਖ਼࣌ͳͲʹ֬ೝ͢Δ߹͕ ଟ͍ɻͦͷͨΊɺόάमਖ਼࣌ैདྷͷ༷ͱ มΘΔ߹ɺ8)Λҙࣝ͠ಛʹ৻ॏʹॻ͘ όάΛमਖ਼
ˣ ސ٬*%͕ͷ࣌ɺूܭ͞Εͳ͍Α͏ʹमਖ਼ ҙຯ ͔ΒΜʂ όάΛमਖ਼ ֬ೝͬͱ
Θ͔Γ͍͢DPNNJUϝοηʔδΛ 38 Մಡੑ ཧੑ ݪࢠੑ దʹখ͍͞ DPNNJU มߋ༰͕ ҙຯతʹ ·ͱ·ͬͯ
͍Δ͔ DPNNJU NFTTBHFͷ ಡΈ͢͞ ݪࢠੑ DPNNJUɺݴͰݴ͍දͤΔมߋ༰Ͱ ͋Δ͜ͱ Մಡੑ ଞਓ͕ޙ͔Βݟͯ֓ཁ͕Θ͔Δ ཧੑ ෳͷมߋ͕͋Δ߹ɺ ಉ͡ࣄΛ͍ͯ͠Δʢҙຯతʹ·ͱ·ͬͨʣ ͷΛDPNNJU͢Δ
༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 39 มߋՕॴ͕গͳ͍߹ʢίϛοτΛશͯऔΓফͤΔʣ $ git reset -–hard HEAD^ $
git push origin [作業ブランチ名] ͍ͨ͠ίϛοτཤྺ͕ଟ͍߹ มߋΛҙਤ͠ͳ͍ϑΝΠϧͷ༰ΛNBTUFSΛಉ͡ʹ͢Δ $ git switch master $ git pull origin master $ git checkout [作業ブランチ名] $ git checkout master [意図しないファイル名]
༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 40 ͦΕͰ͏·͍͔͘ͳ͍߹ ৽͘͠࡞ۀϒϥϯνΛ࡞͠ɺݩͷ࡞ۀϒϥϯν͔ΒඞཁͳϑΝΠ ϧ͚ͩΛ࣋ͬͯ͘Δ $ git checkout master
$ git pull origin master $ git branch [新しいブランチ名] $ git checkout [新しいブランチ名] $ git checkout [元のブランチ名] [特定ファイル名] ৽͍͠ϒϥϯνͰ։ൃ͢Δ͜ͱʹͳΔ
HJUQVTIʢΪοτ ϓογϡʣ 41 ίϛοτͷ༰ΛϦϞʔτϦϙδτϦʹө͢Δ $ git push origin [ブランチ名] ؒҧ͑ͯQVTIͯ͠͠·ͬͨ߹ɺ
git revert ͰΓ͠ɻ ྨࣅίϚϯυʹgit reset͋Δ͕͋·Γ͓͢͢Ί͠ͳ͍
HJUQVTIʢΪοτ ϓογϡʣ 42
1VMM3FRVFTUͷ࡞Γํ 43 ϓϧϦΫɺϚʔδͯ͠ྑ͍ஈ֊Ͱ࡞Δɻ ։ൃ్தͰϚʔδ͞Εͳ͍Α͏ʹ͢ΔͨΊɻ λΠτϧɺձࣾʹΑΔ͕ɺϓϩδΣΫτ໊ɾνέοτ൪߸Λઌ ಄ʹͨ͠ޙɺৄ͍͠༰Λॻ͘ ྫɿ UPOPZBNBձܭը໘ͷϝχϡʔΞΠςϜ͕ԼʹͣΕΔ Uސ٬*%͕ͷ߹ɺूܭ͞ΕΔ
ٸᬎɺଞͷϒϥϯνͰ࡞ۀ͢Δ߹ 44 ·ͩ։ൃ్தͰίϛοτ͍ͯ͠ͳ͍ϑΝΠ ϧ͕͋Δ͕ɺϒϥϯνΛΓସ͍͑ͨ߹ɺ ʮHJUTUBTIʯΛ͓קΊ͠·͢ɻ HJUDPNNJU ͰΓସ͑ΒΕΔ͕ɺத్ͳ DPNNJU͕ൃੜ͢ΔͨΊɻ $ git
stash $ git stash apply ͬͪ͜ͷλεΫΛઌ ʹ͓͍ͬͯͯ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 45
࣍ͷ։ൃʂ 46
HJUQVMM 47 NBTUFSϒϥϯν $ git switch master ϦϞʔτϦϙδτϦͱಉظ $ git
pull origin master ϒϥϯνΛ࡞͠ɺ࠶ͼ։ൃ QVMMͱ GFUDIࣅͯΔ
HJUQVMM ͱ HJUGFUDIͷҧ͍ 48 औಘͨ͠ϒϥϯνใΛϩʔΧϧϒϥϯνʹϚʔδ͢Δ͔Ͳ͏͔ มߋதͷϑΝΠϧ͕͋Δ߹ɺgit fetch ࡞ۀ͕ऴΘ͍ͬͯΔ߹ɺgit pull
࠷ޙʹɿ͍··ͰͷίϚϯυୡ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ HJUSFNPUFBEEPSJHJO<ϦϙδτϦ63->cͲͷ63-ʹQVTI͢Δ͔ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ
HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 49
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 50
(JU)VCΛศརʹ͢Δ πʔϧɾখٕ 51
ΤΠϦΞε 52 $ sudo nano ~/.gitconfig [alias] 省略名=gitコマンド $ sudo
nano ~/.bashrc $ alias [エイリアス名]=‘コマンド’ $ source ~/.bashrc
(JU)VC$-* ίϚϯυϥΠϯ্Ͱ(JU)VCΛૢ࡞Ͱ͖Δ$-*πʔϧ ϦϙδτϦΛ࡞ $ gh repo create リポジトリ名 ΠγϡʔΛ࡞ $
gh issue create ϓϧϦΫΛ࡞ $ gh pr create 53
(JU(SBQI 74$PEFͷ֦ுػೳɻ (JU͕τϥϒͬͨ࣌ʹࠓͷঢ় گΛ͔Γ͘͢͢Δɻ ਓʹઆ໌͢Δͱ͖ʹ ศརɻ 54
(JU-FOT 74$PEFͷ֦ுػೳɻ มߋ͞ΕͨߦͷมߋΛ؆୯ ʹݟΒΕΔ ରϑΝΠϧΛӈΫϦοΫ ˠʮ0QFO$IBOHFT 1SFWJPVT3FWJTJPOʯΛબɻ 55
࠷ޙʹ࣭͋Γ·ͤΜ͔ʁ 56