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
第1回 Git講座
Search
Pudding
PRO
March 18, 2018
Programming
0
760
第1回 Git講座
あくあたん工房での第一回 Git講座の講義資料です。add・commitしてからリモートへpush、プルリクエストがマージされた後、ローカルでのpullする作業までを解説しています。
Pudding
PRO
March 18, 2018
Tweet
Share
More Decks by Pudding
See All by Pudding
GNU Make勉強会 / GNU Make Exercise
pddg
PRO
2
10k
雑に覚えるVim / Vim Tutorial
pddg
PRO
0
72
中古PCのススメ/The fundamentals of used PC
pddg
PRO
1
68
もっと気楽にいきましょうって話 / Make more relax
pddg
PRO
4
2.1k
アイデアの卵と動かざる手 / Do you have something to do to realize your idea?
pddg
PRO
0
160
Docker Seminar for SEL@KIT
pddg
PRO
0
110
進学先を間違ったなと思ったら / I made a mistake in my path
pddg
PRO
0
120
なぜ平文パスワードはNGなのか / Why are plain passwords evil?
pddg
PRO
1
160
Mizql Map @ KITハッカソン2018 by ツナ缶 / Mizql Map
pddg
PRO
0
100
Other Decks in Programming
See All in Programming
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
630
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
130
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
18
4.1k
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
720
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
310
Better Code Design in PHP
afilina
0
180
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
370
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
Swift Testingのモチベを上げたい
stoticdev
2
140
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
910
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
We Have a Design System, Now What?
morganepeng
51
7.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
4 Signs Your Business is Dying
shpigford
182
22k
How GitHub (no longer) Works
holman
314
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
51k
Visualization
eitanlees
146
15k
Producing Creativity
orderedlist
PRO
344
40k
Transcript
(JUߨ࠲ ͋͋ͨ͘Μ
࣍ ։ൃʹ͓͚Δόʔδϣϯཧͷେ͞ (JUͷ֓ཁ (JUϗεςΟϯάαʔϏεʹ͍ͭͯ ࠓΔ͜ͱͷઆ໌
(JUͷ֤ૢ࡞Λަ࣮͑ͯश Ὂ DMPOF DIFDLPVU BEE DPNNJU QVTI QVMM GFUDIʜ HJUΫϥΠΞϯτͷհ
։ൃʹ͓͚Δ όʔδϣϯཧͷେ͞
όʔδϣϯཧ҉ࠇ࣌ʢʣ ˔ ϑΝΠϧ໊Ͱཧ Ὂ ཁૉΛ༩ͯ͠ผ໊Ͱอଘ ˗ ˗ ൛ʢվగ൛ɺ࠷৽൛ʜʣ Ὂ
ͲΕ͕࠷৽͔͔Βͳ͘ͳΔ ˗ ࠷৽൛ ˗ ࠷৽൛ʢʣͳͲʜ Ὂ ͭΒ͍
όʔδϣϯཧ҉ࠇ࣌ʢʣ ˔ ιʔείʔυͷมߋΛ ίϝϯτͰཧ Ὂ มߋऀ Ὂ มߋͳͲ ˔ มߋ͕͔Βͳ͍ɾͤͳ͍
Ὂ ݩͷίʔυͲ͏ͩͬͨͷ͔ Ὂ ॻ͖͑ΒΕͨίʔυ ͬͯ͜ͳ͍ import os # 2018/1/18 ύεΛදࣔ print(os.path) if "/usr/bin" in os.path: # 2018/1/20 มߋ print("Loaded") # 2018/1/22 ޙͰ࣮ # hoge() # 2018/1/15 ফͨ͠ # pudding: ͜͜Α͘ͳ͍ end()
όʔδϣϯཧ҉ࠇ࣌ʢʣ ˔ ෳਓͰ։ൃ͢ΔࡍɺϑΝΠϧΛڞ༗ͯ͠ฤू Ὂ ଞਓͷมߋͱίϯϑϦΫτ Ὂ ࣗͷมߋ͕ଞਓͷ্ॻ͖Ͱফ͑Δ Ὂ ݁ہಉ࣌ʹҰਓͣͭͰ࡞ۀ ˔
ٸͳ։ൃλεΫͷՃ Ὂ ػೳ"·్࣮ͩத Ὂ ػೳ#͕ٸʹඞཁʜ Ͳ͏͢Δʁ
खಈͰมߋΛཧ͢Δͷ ਓྨʹ͗͢͠Δ
None
֓ཁ ˔ ࢄܕόʔδϣϯཧγεςϜ ˔ -JOVT5PSWBMETΒʹΑͬͯ࡞ΒΕͨʢʣ Ὂ -JOVYΧʔωϧͷΑ͏ͳڊେͳίʔυΛޮΑ͘ ཧɾ։ൃ͢ΔͨΊ Ὂ ෳਓ։ൃΛָʹ͢ΔͨΊ
˔ (JU࠷ॳͷόʔδϣϯཧγεςϜͰͳ͍ Ὂ -JOVYΧʔωϧॳ#JU,FFQFSΛ͍ͬͯͨ Ὂ ଞʹ༗໊ͳͷ ˠ$74 4VCWFSTJPO .FSDVSJBM #B[BBSͳͲ
όʔδϣϯཧͬͯʁ ˔ શͯͷมߋཤྺ͕HJUʹΑͬͯอଘ ͞Ε͍ͯΔ Ὂ ୭͕ɾ͍ͭɾͲ͏มߋͨ͠ͷ͔ ˔ աڈͷҙͷมߋΕΔ Ὂ มߋͷ࡞ɿ
˔ ͳΜͰཧͰ͖Δ Ὂ ςΩετʹݶΒͳ͍ ˔ ϦϙδτϦ Ὂ ཧԼʹ͋ΔϓϩδΣΫτͷ͜ͱ commit
ࢄܕͬͯͲ͏͍͏͜ͱʁ
(JUϗεςΟϯάαʔϏε ˔ (JUͷϦϞʔτϦϙδτϦΛ ఏڙ͢ΔαʔϏε Ὂ! (JUIVC Ὂ" (JU-BC Ὂ# #JU#VDLFU
˔ ʮ(JUΛ͏ʯ ˠʮόʔδϣϯཧ͢Δʯ ˔ ʮ(JUIVCΛ͏ʯ ˠʮϦϞʔτϦϙδτϦͱͯ͠(JUIVCΛ͏ʯ
ʢ༨ஊʣब׆ʹཱͭ ˔ (JUIVCΞΧϯτͷఏࣔΛٻΊΔاۀ͋Δ Ὂ (JUIVCʹ͜Μͳઃఆ͋Δˠ ˔ ʮ໘લʹదͳ044 ͍Εͱ͚͍͍Μ͡ΌͶXʯ Ὂ ҰॠͰόϨΔ
Ὂ (JUIVCͷʮࣳੜʯͰ׆ಈͷཤྺ͕͙͢Θ͔Δˣ
ࠓΔ͜ͱ
ԋश ˔ νʔϜ։ൃͷྲྀΕΛମݧ DMPOF BEE DPNNJU CSBODI
QVTI QVMMSFRVFTU ϨϏϡʔɾNFSHF GFUDIɾQVMM ֬ೝ ˔ ͋͋ͨ͘Μެࣜ8FC ϖʔδͷϓϩϑΟʔϧΛ ߋ৽͢Δ
(JUͷ֬ೝ ˔ Λ։͘ Ὂ .BDλʔϛφϧͳͲ Ὂ 8JOEPXT(JU#BTI ˔ ৭ʑ֬ೝ͓ͯ͘͠ Ὂ
(JUͷόʔδϣϯ Ὂ ΧϨϯτσΟϨΫτϦ $ git ——version git version 2.15.1.windows.2 $ pwd /path/to/home # ԋश༻σΟϨΫτϦ࡞ $ mkdir git-seminar $ cd git-seminar
(JUͷॳظઃఆ # ઃఆ $ git config ——global user.name “ͳ·͑” $
git config —-global user.email “Ί͋Ͳ” ˔ Ϣʔβ໊ͱ͔Λઃఆ Ὂ DPNNJUͷཤྺʹදࣔ͞ΕΔ໊લͱϝʔϧΞυϨε Ὂ HJUIVCʹొͨ͠ͷͰྑ͍ͱࢥ͏ ˔ QVCMJDͳϦϙδτϦͷ߹ɺશੈքʹެ։͞Εͯ ͍ΔͷͰɺݸਓใҙ ˔ ΦϓγϣϯͰϦϙδτϦ͝ͱʹઃఆͰ͖Δ ——local
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
˔ ϦϞʔτϦϙδτϦͷίϐʔΛϩʔΧϧʹ࡞͢Δ ˔ HJUϗεςΟϯάαʔϏεͰެ։͞Ε͍ͯΔجຊ ͲΕͰࣗ༝ʹϩʔΧϧDMPOFͰ͖Δ Ὂ ϩʔΧϧϦϙδτϦͪΌΜͱཧ͠Α͏Ͷʂ clone $ pwd
/path/to/git-seminar $ git clone https://github.com/StudioAquatan/web $ ls web $ cd web
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
ͦͷલʹ
·ͣόʔδϣϯཧͷ ཧղΛਂΊΑ͏
˔ (JUͰมߋΛDPNNJUͱ͍͏୯ҐͰอଘ͢Δ Ὂ ϑΝΠϧͦͷͷΛอଘ͢ΔΘ͚Ͱͳ͍ Ὂ εφοϓγϣοτΛͱΔˠ༰ྔͷઅʹͳΔ ˔ ʮݱࡏͲͷDPNNJUΛࢦ͍ͯ͠Δ͔ʯͰϑΝΠϧͷ ঢ়ଶ͕ཧ͞Ε͍ͯΔ Ὂ
ݱࡏࢦ͍ͯ͠Δ࠷৽ͷDPNNJUΛͱݺͿ ˔ DPNNJUʹܻͷҰҙͳϋογϡ͕༩͑ΒΕΔ ˔ DPNNJU࿈ଓϦετͷΑ͏ʹͳ͍ͬͯΔ Ὂ DPNNJU͕ࣗલͷDPNNJUͷϙΠϯλʢܻ ͷҰҙͳϋογϡʣΛ͍࣋ͬͯΔ commit HEAD
commit શͯͷมߋ͕ DPNNJU͠ऴΘͬͨঢ়ଶ
commit ৽͘͠ ͱ͍͏ϑΝΠϧΛ ࡞ͨ͠ঢ়ଶ user.html $VTFSIUNM
˔ ৽͘͠ϑΝΠϧΛεςʔδʹՃ͢ΔίϚϯυ ˔ εςʔδͱʜʁ Ὂ ϦϙδτϦʹө͢ΔલͷϑΝΠϧมߋҰཡ Ὂ ͜͜ʹՃ͞Ε͍ͯͳ͍DPNNJU͞Εͳ͍ add $
git add user.html $ git status On branch master Your branch is up-to-date with ‘origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: user.html
εςʔδʹ ͱ͍͏ϑΝΠϧΛ Ճͨ͠ঢ়ଶ user.html add $VTFSIUNM
˔ εςʔδʹ্͕͍ͬͯΔมߋΛϦϙδτϦө Ὂ ৽͘͠࡞ͨ͠ͷ͓ͯ͘͜͠ͱ Ὂ طʹϦϙδτϦʹؚ·Ε͍ͯΔϑΝΠϧมߋΛՃ ͑ͨͱ͖ˠ ˔ ίϛοτϝοηʔδΘ͔Γ͘͢ Ὂ
ϑΝΠϧΛՃͨ͠ˠzBEEIPHFz Ὂ ϑΝΠϧΛߋ৽ͨ͠ˠzVQEBUFGVHBzͳͲ $ git commit -m “add test_user.html” [master 3ad5b42] add test_user.html 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test_user.html commit add git commit -a -m “ίϛοτϝοηʔδ”
git commit -m “add user.html” $VTFSIUNM εςʔδͷมߋΛө
શͯͷมߋ͕ DPNNJU͠ऴΘͬͨঢ়ଶ git commit -m “add user.html”
εςʔδ͔ΒDPNNJU·Ͱ ˔ ࡞ۀπϦʔ͔ΒϑΝΠϧ ΛBEE͢ΔͱHJUͷཧର ʹͳΔ ˔ BEEࡁΈͷϑΝΠϧʹม ߋΛՃ͑ΔͱɺࣗಈͰ εςʔδʹ্͕Δ add
commit
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
branch ˔ Ұ࿈ͷDPNNJUʹର͠ذΛ࡞Δ͜ͱ͕ग़དྷΔ Ὂ ذΛ࡞͠ϒϥϯνΛ࡞Δ͜ͱ ˠʮϒϥϯνΛΔʯͱ͍͏ ˔ ϒϥϯνͷਖ਼ମʮ͋Δϒϥϯν໊ͷλά͕͍ͨ Ұ࿈ͷDPNNJUͷ͏ͪ࠷৽ͷͷͷϙΠϯλʯ ˔
࠷جຊͷϒϥϯνˠNBTUFS ˔ ϒϥϯνෳΔ͜ͱ͕Ͱ͖Δ Ὂ ྫɿ։ൃஈ֊͝ͱʢEFWFMPQ SFMFBTFʜʣ Ὂ ྫɿػೳ͝ͱʢGFBUVSFIPHF GFBUVSFGVHBʜʣ ˔ جຊతʹԿ͔͢ΔલʹϒϥϯνΛΔ
˔ NBTUFSͷΈ͕͋Δঢ়ଶ ˔ )&"%ͷࢦ͢ҐஔͱNBTUFSͷࢦ͢Ґஔ͕Ұॹ branch # ϒϥϯνҰཡΛදࣔ $ git branch
* master
branch ˔ ྫͱͯࣗ͠ͷϖʔδΛ࡞͢ΔͨΊʹϒϥϯνΛ ࡞ͯ͠ΈΔ Ὂ ϒϥϯν໊zQBHF\\OBNF^^z $ git branch page/{{name}}
$ git branch * master page/{{name}}
checkout $ git checkout page/{{name}} Switched to branch ‘page/{{name}}' $
git branch master * page/{{name}} ˔ ϒϥϯνͷҠಈʹओʹΘΕΔ Ὂ ಛఆͷίϛοτͷϑΝΠϧΛ෮ݩ͢Δػೳ͋Δ ˔ ࡞ࡁΈͷϒϥϯνҠಈ͢Δଞɺϒϥϯν࡞ͱ ಉ࣌ʹDIFDLPVU͢Δ͜ͱͰ͖Δ git checkout -b page/{{name}}
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
branch $ git add member/{{name}}.html $ git commit -m “add
{{name}} page” ˔ QBHF\\OBNF^^ϒϥϯνDPNNJU͞Εͨ ˔ )&"%͕Ҡಈ͠࠷৽ͷDPNNJUΛࢦ͢ Ὂ NBTUFSมԽ͠ͳ͍
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
˔ ϩʔΧϧϦϙδτϦͷมߋΛϦϞʔτϦϙδτϦ ө͢Δ ˔ Ὂ PSJHJOϦϞʔτϦϙδτϦͷผ໊ʢσϑΥϧτʣ Ὂ QVTI͢Δઌͷϒϥϯν໊ʹҙ ˔
͜͜Ͱෆཁ͕ͩɺ৽نͰQVTIΛߦ͏߹ɺϦϞʔ τϦϙδτϦͷΞυϨεΛՃ͢Δඞཁ͕͋Δ push git push origin {{ϒϥϯν໊}} $ git push origin page/{{name}}
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
(JUIVCߨ࠲ࢀর
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
˔ ͋ΔϒϥϯνͰͷDPNNJUΛผͷϒϥϯνऔΓࠐΉ ˔ ҎԼQBHF\\OBNF^^ΛNBTUFSϚʔδ͍ͯ͠Δ Ὂ (JUIVC্ͰQVMMSFRVFTUΛϚʔδ͢Δͱ ϦϞʔτϦϙδτϦͰԼه͕࣮ߦ merge
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
checkout $ git checkout master Switched to branch ‘master' $
git branch * master page/{{name}} ˔ ࡞ۀ͕ऴΘͬͨΒݩͷϒϥϯνΔ Ὂ ࣍ͷϒϥϯνΛੜϒϥϯν͔ΒΒͳ͍Α͏ʹ ˔ DPNNJU͍ͯ͠ͳ͍มߋ͕͋ΔͱΕͳ͍ Ὂ جຊతʹશͯDPNNJU͔ͯ͠ΒΖ͏ Ὂ Ͳ͏ͯ͠ඞཁͳ߹TUBTI͕͑Δ
˔ ϦϞʔτϦϙδτϦͷมߋΛϩʔΧϧϦϙδτϦ ө͢ΔίϚϯυ Ὂ 8PSLJOH%JSFDUPSZͷมߋߦΘͳ͍ ˔ ɹ Ὂ औಘͨ͠มߋΛ࣮ࡍʹө͢Δ Ὂ
PSJHJOͷ\\ϒϥϯν໊^^ΛϩʔΧϧͷ\\ϒϥϯν໊^^ ө͢Δͱ͍͏ҙຯ fetch git merge origin/{{ϒϥϯν໊}} $ git fetch # ͜͜ͰmasterΛϚʔδ͢Δ $ git merge origin/master
˔ ݱࡏ͍ΔϒϥϯνϦϞʔτͷมߋΛϚʔδ͢Δ Ὂ ͦΕҎ্ͷ͍ํΛ͍͚ͯ͠ͳ͍ ˔ લड़ͷGFUDIͱNFSHFPSJHJO\\ϒϥϯν໊^^Λ ҰׅͰ࣮ߦ͢Δ ˔ άάΔͱ༻͠ͳ͍͜ͱΛਪ͢Δهࣄ͕ࢁ ώοτ͢Δ
Ὂ ͪΌΜͱཧղͯ͑͠ศར pull # masterʹ͍ΔͳΒorigin/masterͷมߋ͕औΓࠐ·ΕΔ $ git pull
։ൃͷશମͷྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ ϒϥϯνΛΔ มߋΛBEE DPNNJU ϦϞʔτϦϙδτϦQVTI
QVMMSFRVFTUΛൃߦ NFSHF GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
֬ೝ ˔ ϩʔΧϧө͞Ε͔ͨ֬ೝ͢Δ NBTUFSϒϥϯνΛνΣοΫΞτ NFNCFS\\OBNF^^IUNMΛϒϥβͰ։͘ ˔
Ҏ্͕جຊతͳෳਓ։ൃͷྲྀΕʹͳΔ śŧœʙʢů ьʆ ůʙ̇ git fetch && git merge origin/master
(JUIVCͷ͍ํؚΊͨྲྀΕ ϦϙδτϦΛDMPOFʢ·ͨ࡞ʣ JTTVFΛݐͯΔPSׂΓͯΒΕͨJTTVFΛ֬ೝ ϒϥϯνΛΔ มߋΛBEE DPNNJU
ϦϞʔτϦϙδτϦQVTI QVMMSFRVFTUΛൃߦɺϨϏϡʔɾमਖ਼ޙNFSHF ʢJTTVFΛด͡Δʣ ݩͷϒϥϯνΛDIFDLPVU GFUDIɾQVMMͯ͠ϩʔΧϧʹมߋΛө ֬ೝ
5JQT ˔ 2͍ͭDPNNJU͢Ε͍͍ΜͰ͔͢ʁ "࣌ͱ߹ʹΑΔ͕ɺׂͱࡉ͔͍୯ҐͰDPNNJU͠ ͯશવߏΘͳ͍ɻDPNNJU͕૿͑Δ͜ͱΛڪΕΔ ҙຯແ͍ɻ ˔ 2ϨϏϡʔͯ͠ΒΘͳ͍ͱμϝͰ͔͢ʁ "Ұਓͷ࣌ෆཁɻνʔϜ։ൃͰඞਢ ˔
2ϨϏϡʔ͕ාͯ͘ϓϧϦΫग़ͤ·ͤΜ "ϨϏϡΞʔَ͡Όͳ͍ͷͰ҆৺ͯ͠ ˔ 2ίϯϑϦΫτͨ͠ʂ "࣍ճΓ·͠ΐ͏