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
はじめてのGit #gitkyoto
Search
Hisateru Tanaka
February 16, 2013
Technology
10
2.7k
はじめてのGit #gitkyoto
Gitのゆるめな勉強会
ワークショップ進行スライド
Hisateru Tanaka
February 16, 2013
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
哲学史とモデリング
tanakahisateru
4
560
オブジェクト指向宗教史
tanakahisateru
31
16k
ほげ言語にあってPHPにない機能
tanakahisateru
6
2.6k
君たちはどうプログラミングするか
tanakahisateru
12
1.6k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
520
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.1k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.1k
まんがのかきかた
tanakahisateru
8
630
10秒で衝突するUUIDの作り方
tanakahisateru
40
39k
Other Decks in Technology
See All in Technology
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
Classmethod Odyssey 登壇資料
yamahiro
0
390
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
201
24k
KATA
mclloyd
20
13k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
We Have a Design System, Now What?
morganepeng
46
7k
Clear Off the Table
cherdarchuk
89
320k
In The Pink: A Labor of Love
frogandcode
139
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
How to Ace a Technical Interview
jacobian
274
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
How GitHub (no longer) Works
holman
305
140k
Thoughts on Productivity
jonyablonski
64
4.1k
Transcript
͡ΊͯͷGit ͨͿΜؔͰ͍ͪΜΏΔ͍Gitೖ
ͨͳ͔ͻͯ͞Δ @tanakahisateru Pinoco developer js-markdown-extra maintainer PHPTAL contributor Firebug translation
contributor Yii framework user ...and more OSS experienced
Կऀ͔ͱ͍͏ΛΘ ͔Γ͍͢ͱ͜Ͱ ͍͜ΕͰࠓͬͨਓ͕୭ͩͬ ͔ͨΕͳ͘ͳΓ·ͨ͠
ͦΜͳGitͷ͍͢͝ਓ͡Όͳ͍Ͱ͢ɻ GitHubͰඞཁͳ࠷ݶͷ͔ࣝ͋͠Γ·ͤΜɻ Θ͔Βͳ͍͜ͱ͙͢άάΓ·͢ɻ GitଞਓͱͬͯφϯϘͰ͠ΐͬͯࢥ͍·͢ɻ Θͨ͠ͱGit
ਓʹGitΛڭ͑Δͱ͜͏ͳͬͨ લ৬ͰɺσβΠφʔ(ίʔμʔ)ͷಉ྅ΫϥΠΞϯτʹGit Λڭ͑ͯͬͯΒͬͯ·ͨ͠ɻ σβΠφʔʮ͜Εͳ͔ͬͨΒࣄͰ͖ͳ͍ʯͬͯதಟʹͳ Γ·ͨ͠ɻ ΫϥΠΞϯτͱͷΓͱΓ͕εϜʔζʹͳΓ·ͨ͠ɻ
ڭ͑ͳ͖ΌଛͩΑ͜Ε
͜ͷηογϣϯͰ ϗϯτͷೖ͔Βͪΐͬͱ͚ͩ౿ΈࠐΜͰ࢝Ί·͢ɻ Έͳ͞Μ͕৬ͳΓऔҾઌͳΓͰɺڭ͢ΔଆͷਓʹͳΔ͙ Β͍ͷதಟʹ͢Δͷ͕ඪͰ͢ɻ(ॳ৺ऀͱ͔ؔͳ͍Ͱ͢) ڭΘΒͳͯ͘Θ͔ͬͯΔਓɺڭ͑ํͷώϯτΛύΫͬͯ ͍ͩ͘͞ɻGitଞਓͱͬͯφϯϘͰ͢ɻ
όʔδϣϯཧͬͯ? ࣮Έͳ͞ΜɺͨͿΜ͢ͰʹόʔδϣϯཧΛ͍ͬͯΔͱ ࢥ͍·͢Αɻ ໊Λ͚ͭͯϑΥϧμΛόοΫΞοϓ͢ΔΞϨɻ
None
͜ͷΜ·ͩΔؾ͋Δ
ʮͪΐͬͱෳҊݟͤͯΑʯ ʮ͑ͬ...ʯ
ʮͬͺΓલͷલͷ͕ྑ͔ͬͨʯ (Δؾͳ͘ͳ͖ͬͯͯΔײ)
ʮͬͱϑΟοΫεҊͰ͖ͨ...όλοʯ
ʮͬͦ͘͞Ͱѱ͍Μ͚ͩͲ͕͠...ʯ (นυϯͰ͢ΑͶ)
ޙ
Ͳͷࢠ͕Ͳͷࢠ͔͠Β...?
ख࡞ۀͷ᠘ ਓؒαϘΔ/যΔ/ؒҧ͑Δɻ ϑΥϧμͷલޙؔʹอূ͕ͳ͍ɻ ୭͕ԿΛͨ݁͠Ռͳͷ͔Θ͔Βͳ͍ɻ ϋʔυσΟεΫʹ΄ͱΜͲಉ͡༰ͷϑΥϧμͰ͖ͯɺ ͍͢͝ૣ͞Ͱ༰ྔΛѹഭͯ͘͠Δɻ
ͦΜͳ͋ͳͨ GitΛ͏ͱ
͜͏ͳΓ·͢
͞Βʹ͜͏ͳΓ·͢
ϑΥϧμͱͷ͕͍ͪ ୭͕ɺ͍ͭɺԿΛมߋͨ͠ͷ͔ཤྺʹΔɻ Ͳͷมߋ͕ͲΕΛݩʹͨ͠ͷ͔ɺॱ൪Λؒҧ͑ͳ͍ɻ ਖ਼ࣜͳ࠷৽൛͕Θ͔Δͱ͍͏େࣄ͞ɻ มߋใ͚ͩΛอଘ → ϋʔυσΟεΫΛѹഭ͠ͳ͍ɻ (ͳͷͰԕྀͳ͘όοΫΞοϓͰ͖Δ)
Subversion < Git ॳ৺ऀʹ(ͦͯ͠ଟকདྷͣͬͱ)Git͕Φεεϝɻ αʔόͷ४උ͕·ͩͰ࡞ۀΛ࢝ΊΒΕΔɻ FinderͰউखʹҠಈ/আ/໊લมߋΛͯ͠յΕͳ͍ɻ มߋཤྺͷࢀর͕ͱ͍ͯɻ ϓϥάΠϯ͕ͳ͍ͷͰਓʹΑͬͯػೳͷ͕ࠩग़ͳ͍ɻ (͜ΕMercurialʹର͢ΔϝϦοτ)
Ͳ͏ͤGitඞཁ
ΈΜͳGitHub ͬͱ͋ΔΑ
ͬͯΈΑ͏
Πϯετʔϧ ࠷৽ͷXcodeΛ͍ͬͯΔ ਓ͏ೖ͍ͬͯ·͢ɻ ͳ͍ਓͪ͜Β http://git-scm.com/
Ͱɺ࣍...
None
ͬͯɺ͜Θ͘ͳ͍͔Β
͜Ε͔ΒΖ͏ͱͯ͠Δ͜ͱ ʮGitίϚϯυͩʯͱ͍͏͜ͱΛͬͯΒ͍·͢ɻ ίϚϯυΛଧͪࠐΈͳ͕Β༻ޠΛ͓΅͑·͠ΐ͏ɻ ࣦഊͯ͠େৎɺతૢ࡞͡Όͳͯ͘ཧղͰ͢ɻ ֓೦Λཧղ͔ͯ͠ΒGUIɻ ͦͷͱ͖͏ɺίϚϯυΕ͍͍ͯͯɻ
< \コワクナイカラ/
͏͖͝·͔͢
ࣗͷ໊લΛઃఆ͠Α͏
࡞ۀऀͷ໊લࣗݾਃࠂͰ͢ɻ GitࣗͰউखʹ࢝ΊͨΓผͷαʔόʹҾӽͨ͠ΓͰ͖ΔͷͰɺ ୭͕࡞ۀ͔ͨ͠ͱ͍͏໊લαʔόͷೝূͱશʹผͳͷͰ͢ɻ
͜ͷ࿅शͰ͏ ιʔείʔυΛ...
http://www.initializr.com/ ύΫΓ·͢Ͷ
IEͱ͔Faviconͱ͔ΦϑͰ
μϯϩʔυ&ల։
͜Ε͕ॳ൛Ͱ͢
None
࡞ۀ͢ΔϑΥϧμΛ։͘ cd[εϖʔε]ͷ͋ͱɺλʔϛφϧʹ ϑΥϧμΛυϩοϓ͠·͢ɻ
͍·։͖·ͨ͠
ݱࡏλʔϛφϧͰ։͍͍ͯΔϑΥϧμΛʮΧ ϨϯτσΟϨΫτϦʯͱݴ͍·͢ɻ cd ͷޙʹύεΛࢦఆ͢ΔͱɺΧϨϯτσΟϨ ΫτϦΛม͑Δ͜ͱ͕Ͱ͖·͢ɻ ΧϨϯτσΟϨΫτϦͷ֬ೝ pwd Ͱ͢ɻ
ϗϯτʹ߹ͬͯΔ?
͜ͷΜେৎͰ͔͢ʔ
͍Α͍ΑGitͰ͢Αʔ
git init
.git=ϩʔΧϧϦϙδτϦ
ϦϙδτϦ=ೖΕ .git ͕ফ͑ΔͱԿͳ͔ͬͨ͜ͱʹͳΔɻ શ෦Γ͍ͨ͠ͱ͖ rm -rf .git (͋Δ͍ৄ͍͠ਓʹͬͦ͜Γฉ͖·͠ΐ͏)
git status
Untracked files = ·ͩཧ͍ͯ͠ͳ͍ϑΝΠ ϧ͕͜Ε͚ͩ͋Δͱ͍͏͜ͱɻ git add Λ͑ͱݴΘΕ͍ͯ·͢Ͷɻ
git add
add = ίϛοτ(͋ͱͰݴ͍·͢)͢ΔϦετʹϑΝ ΠϧՃ͢Δͱ͍͏ҙຯͰ add Ͱ͢ɻ ͜ͷૢ࡞Λεςʔδͱݴ͍·͢ɻ όʔδϣϯཧͰͬͱେࣄͳૢ࡞ɺίϛοτ ͷ४උͰ͢ɻ ͪΐ͏ͲɺFinderͰγϑτΩʔΛԡ͠ͳ͕ΒϑΝΠ
ϧΛϙνϙν͢ΔΑ͏ͳͷͰ͢ɻ
͔Βͷ→ git status
git status ͷ݁Ռ͕ Changes to be committed: ͱ͍͏ϦετʹͳΓ·ͨ͠ɻ ͍Α͍Α͕࣍ॳΊͯͷίϛοτͰ͢ɻ
git commit -m “...”
ॳճίϛοτ͓ΊͰͱ͏͍͟͝·͢ɻίϛοτ όʔδϣϯཧͰͬͱॏཁͳػೳͰ͢ɻ બΜͩϑΝΠϧΛ .git ϑΥϧμͷதʹόοΫΞ οϓίϐʔͨ͠ΠϝʔδͰ͢ɻ ֤ίϛοτʹɺ࡞ۀऀͷ໊લɺίϛοτͷ ࣌ɺϝοηʔδ͕ඞͣΓ·͢ɻ
-m ͳ͠Ͱ git commit ͱͯ͠͠·͍ɺͳʹ͕ ى͔ͬͨ͜Θ͔Βͳ͍ਓɺۙ͘ͷৄͦ͠͏ ͳਓʹฉ͍͍ͯͩ͘͞ɻ Θ͔Δਓͦͷ··ଓ͚ɺ:wq Ͱऴྃͨ͠Β ͍͍ͱࢥ͍·͢ɻ
Θ͔Βͳ͍ਓGUIΛ͏·ͰͬͯͶɻ
git status ...? → git log ...!
git status nothing to commit (working directory id clean)ͱݴ͍ͬͯ·͢ɻ࠷ޙͷίϛ
οτ͔Β·ͩมߋ͕ͳ͍ͱ͍͏ҙຯͰ͢ɻ git log ͰաڈͷίϛοτΛࢀরͰ͖·͢ɻ ίϛοτʹ 00e8ac1be367fb350... ͱ͍͏ID͕ ͍͍ͯΔ͜ͱ͕Θ͔Γ·͢ɻ͜ͷίϛοτͷϢ χʔΫͳཧ൪߸ͰɺΘΓͱॏཁͰ͢ɻ
৺ͳΒ git log --stat
͠ .DS_Store ͰάνάνݴΘΕΔਓ...
.gitignore ͱ͍͏ϑΝΠϧʹ
.DS_Store ͱॻ͖·͢
.gitignore = git + ignore (ແࢹ) ແࢹ͢ΔϑΝΠϧ໊ύεͷύλʔϯΛॻ͘
͜͜·Ͱͷ·ͱΊ git init git status git add <file/folder> git commit
-m “message” git log .gitignore
Ή͔͍ͣ͠ͻͱʔ
ͦ͏Ͱ͢Ͷ...
༊͠ิॆ͠ͱ͖·͢
͔͜͜Β໘ന͘ ͳΔΑɻ index.htmlʹ มߋൃੜɻ
git status
git diff
git commit -a -m “...”
git commit -a มߋ͞ΕͨϑΝΠϧΛͯ͢ add ͔ͯ͠Βίϛοτͱ͍͏ҙຯͰ͢ɻ git add Ͱεςʔδ͔ͯ͠Β git
commit ͢Δ ͷͱಉ͡Ͱ͢ɻ
git log
ϩάͷ݁Ռ͕2ͭʹͳΓ·ͨ͠ɻ ʮιʔεΛมߋͯ֬͠ೝɾίϛοτʯΛࣗ༝ ʹͬͯΈ·͠ΐ͏ɻ
࡞ۀ͕۠ΕͨΒ͙͢ʹίϛοτ͠·͠ΐ ͏ɻ ࠩอଘͳͷͰ༰ྔ৯͍·ͤΜɻԕྀͳ͘ ͲΜͲΜΓ·͠ΐ͏ɻ(※ Photoshopผ) සͷ҆ɺ1ߦͷϝοηʔδͰҙຯΛද ͤΔఔͷมߋηοτͰ͢ɻ
͜͜·Ͱͷ·ͱΊ git status git diff Ͱঢ়ଶΛ֬ೝͭͭ͠... มߋ → ίϛοτ
→ มߋ → ίϛοτ → ... ͘͜͜͠ͳ͍Ͱ͢Ͷɻ
ͭ͗ɺͪΐͬͱ͍͠ʹͳΓ·͢ɻ
< \コワクナイカラ/
HTMLͷߋ৽Λ͠ͳ͕Β ཪͰίπίπCSSΛม͍͑ͨ
ϒϥϯν
git branch css-coding git checkout css-coding
css-coding ͱ͍͏໊લͷϒϥϯνΛ࡞Γɺϒ ϥϯνΛΓସ͑·ͨ͠ɻ ׳Ε͍ͯΔਓ git checkout -b css-coding Ͱɺ࡞ͱΓସ͑Λಉ࣌ʹͰ͖·͢ɻ
git branch (ύϥϝʔλͳ͠)
ϒϥϯν͕2ͭ͋Δ͜ͱɺࠓͷϒϥϯν͕ css-codingͩͱ͍͏͜ͱ͕Θ͔Γ·͢ɻ master = ࠷ॳ͔Β͋ΔϝΠϯͷϒϥϯν
css-coding ϒϥϯνͰɺ css/main.css Λॻ͖͑ɻ
commit → log
H1 HENKOU → CSS PINK ͱ͍͏มߋͷྲྀΕ Ͱͨ͠Ͷɻ͜ΕΛԱ͓͍͍͑ͯͯͩ͘͞ɻ (ਓʹΑͬͯҧ͏͔͠Ε·ͤΜ) ͜͜ͰɺCSSͷ࡞ۀΛΊͯɺHTML͚ͩม ߋ͢Δ࡞ۀͷྲྀΕʹΓ·͠ΐ͏ɻ
git checkout master
masterϒϥϯνͰɺ࠷ޙͷίϛοτ͕·ͩ H1 HENKOU ͷ··Ͱ͢ɻͭ·Γ...
ͱͲ͓Γ
Կࣄͳ͔ͬͨ ͔ͷΑ͏ʹ index.html Λॻ͖͑ͯ...
commit → log
H1 HENKOU → KIJI MIDASI ͱ͍͏ྲྀΕͰ ίϛοτ͕ͭͳ͕Γ·ͨ͠ɻ masterϒϥϯνͰɺCSSؔͷίϛοτ͕ ͳ͔ͬͨ͜ͱʹͳ͍ͬͯ·͢ɻ
ผϑΥϧμ࡞ۀͷΠϝʔδ master css-coding
branchͱ git branch css-coding css-coding
checkoutͱ master git checkout master ࡞ۀϑΥϧμ
git log --oneline --graph --all
͔ͨ͠ʹίϛοτͷཤྺ͕ذ͍ͯ͠·͢ɻ ϒϥϯνผͷਓͱ࡞ۀ͢Δͱ͖༗ޮͰ͢ɻଞͷόʔδϣ ϯཧπʔϧͱGit͕ҧ͏ͷɺλάͳΜ͔ΑΓͣͬͱϒ ϥϯνͷ΄͏͕༻සߴ͍ͱ͍͏Ͱ͢ɻ Ͱͪΐͬͱ͍͠ͷͰɺޓ͍ʹಉ࣌ʹ৮Βͳ͍Α͏ Λ͔͚ͳ͕ΒͻͱͭͷϒϥϯνͰ͍͍ͬͯͰ͢ɻ ͨͩ͠ɺ͜ͷʮίϛοτͷذʯͱ͍͏֓೦ɺGitΛཧ ղͯ͠͏্ͰઈରʹΕ͍͚ͯ·ͤΜɻ
git merge -m “...” css-coding
ͨͬͨͻͱͭͷίϚϯυͰ ผͷϒϥϯνͷ࡞ۀ͕߹ମ!
mergeͱ master css-coding git merge
Ϛʔδɺ૬खͷϒϥϯν͔ΒมߋϑΝΠϧ ͚ͩΛऔΓग़ͯ͠ɺࣗͷϑΝΠϧΛ্ॻ͖ ͢ΔΠϝʔδɻ ͠ϒϥϯνؒͰಉ͡ϑΝΠϧΛมߋͯͨ͠ ΒɺͦΕΒ͕ڝ߹(ίϯϑϦΫτ)ͨ͠ঢ়ଶʹ ͳΓ·͢ɻ
͍·ίϯϑϦΫτʹ͍ͭͯઆ໌͢Δͷେม ͳͷͰɺͳΔ͘ى͜͞ͳ͍Α͏ʹͯͩ͘͠ ͍͞ɻ GitͰίϯϑϦΫτΛղফ͢Δͷɺ SubversionΑΓͣͬͱ؆୯ͳͷͰ҆͝৺Λɻ ͠ىͬͨ͜Βܦݧऀʹฉ͖·͠ΐ͏ɻ
ࢀߟ: Θ͔Γ͍͢ϒϥϯνͷ http://www.slideshare.net/ kotas/git-15276118
͜͜·Ͱͷ·ͱΊ git branch ϒϥϯν໊ git checkout ϒϥϯν໊ git branch git
log --oneline --graph --all git merge ϒϥϯν໊
Ή͔͍ͣ͠ͻͱʔ
ͦΖͦΖ·ͨ༊͠
͍͍ͪͪίϚϯυଧͭͷ ਖ਼͠ΜͲ͍
http://gitx.frim.nl/
͋͑ͯͬͱݹ͍GitXΛ͍·͢ɻ ͜͜·Ͱͷઆ໌ʹରԠ͢Δػೳ͔͠ͳ͍ͷ Ͱɺ͘͢͝Θ͔Γ͍͢ɻ ίϚϯυӡ༻ͱͷ૬ੑ͕͍͍Ͱ͢ɻ ίϚϯυ͕ۤखͳਓʹɺޙͰͬͱઌͷػ ೳ͕͋ΔπʔϧΛհ͠·͢ɻ
log, diff, branch
branch -d(আ), checkout
status, diff
add, checkout --(มߋΛΊΔػೳ)
commit + ΤσΟλ
͓·͚: λʔϛφϧ͖ͳΒ tig
վߦίʔυͷมߋ CRLF→LF จࣈίʔυͷมߋ SJIS→UTF-8 Πϯσϯτํͷมߋ λϒ→εϖʔε ઈର్தͰ͍͚ͬͯͳ͍͜ͱ
͜ΕΔͱɺϑΝΠϧͷͯ͢ͷߦ͕ॻ͖Θͬͨͱೝࣝ͞ Ε·͢ɻ ຊདྷͷมߋҙਤ͕Θ͔Βͳ͘ͳΓ·͢ɻ ΔͳΒૣ͍ஈ֊ͰɺશιʔεͷϑΥʔϚοτΛҰؾʹมߋ ͢ΔίϛοτΛ͠·͠ΐ͏ɻ ઈର్தͰ͍͚ͬͯͳ͍͜ͱ
< \コワクナイカラ/
͍Α͍ΑGitHub
https://github.com/
·ͩͷਓαΠϯΞοϓ
Welcome to social coding.
ެ։伴Λొ ެ։伴ೝূͱSSHͷઆ໌ল͖·͢ɻ ͣΓɺ~/.ssh ͋Γ·͔͢? open ~/.ssh id_rsa.pub ͕͋ΕOKɺͦΕΛ͍·͢ɻ ͳ͍ਓ͜ΕͰ࡞Γ·͢: ssh-keygen
-t rsa -C "
[email protected]
" ͢Ͱʹ͍࣋ͬͯΔਓྡͷਓΛखͬͯ͋͛·͠ΐ͏ɻ
͜͜ʹৄ͘͠ग़͍ͯ·͢: https://help.github.com/articles/ generating-ssh-keys
id_rsa.pub Ͱ͖ͨΒ... Ͱɺid_rsa.pubͷ༰Λ·Δ͝ͱίϐϖ͠·͠ΐ͏ɻ
ϦϙδτϦΛ࡞Ζ͏ ͜͜
Ͱ͖ͨ
͡Ίͯͷpush
⌘+R
git push origin master originͷϦϞʔτϦ ϙδτϦʹmasterϒϥϯνΛΞοϓϩʔυ͢ ΔΠϝʔδͰ͢ɻ -u ΦϓγϣϯɺҎ߱masterϒϥϯνͰ git
push ͚ͩͨ͠ͱ͖ɺσϑΥϧτͰoriginʹ push͢ΔΑ͏ʹͳΔͱ͍͏ඥ͚ɻ
push push
ͱ͜ΖͰ͜ͷEditͬͯ?
ฤूͰ͖ͪΌ͏!
ϝοηʔδ+ίϛοτ
git pull
git pull ϦϞʔτͷϦϙδτϦ͔ΒϩʔΧϧ ʹμϯϩʔυ͢ΔΠϝʔδɻ ͋ɺGitHubͷαΠτͰฤू͢Δͱɺಈ࡞֬ೝ Ͱ͖ͯͳ͍ιʔεͰίϛοτΛੵΉ͜ͱʹͳ ΔͷͰɺී௨μϝͰ͢Αɻ
pull pull
ϦϞʔτ͔Βpull͢Δ=μϯϩʔυͨ͠ͷΛແ໊ϒϥϯνͱ Έͳͯ͠ɺϚʔδ→ίϛοτΛ͍ͬͯΔɻ μϯϩʔυͯ͠Ϛʔδ͠ͳ͍pullΛfetchͱݴ͏ɻ pull = fetch + merge ͱʹ͔͘ɺ͍͖ͳΓϩʔΧϧͥΜͿ্ॻ͖Ͱͳ͍ɻ FTPͰམͱ͖ͯͨ͠ϑΝΠϧΛ͍͖ͳΓ্ॻ͖ͯ͠ࠔͬͨ͜ͱ...
͋Γ·͢ΑͶɻ pullͷҙ
ϦϞʔτͷ࠷৽ΑΓݹ͍ঢ়گʹੵΜͩίϛοτΛpush͢Δͷ ېࢭ͞Ε·͢ɻ ͳͷͰɺ·ͣϩʔΧϧʹpull͔ͯ͠Βɺ࡞ۀ→ίϛοτ →pushͷॱংΛकΓ·͠ΐ͏ɻ ଞͷਓ্͕͛ͨαʔόͷ࠷৽Λݹ͍ϑΝΠϧͰFTP্ॻ͖͠ ͯࠔͬͨ͜ͱ...͋Γ·͢ΑͶɻ pushͷҙ
͍͜͠ͷͰɺͱΓ͋͑ͣWeb੍࡞ͷݴ༿Ͱ͍͏ͱɺαʔ όͷΞοϓϩʔυͱαʔό͔ΒͷμϯϩʔυͰOKͰ͢ɻ ͨͩɺಥવͷ্ॻ͖Ͱେࣦഊ͠ͳ͍ஔ͕͍ͯΔͱ͍͏͜ ͱ͚ͩཧղ͍ͯͩ͘͠͞ɻ GitͰΤϥʔʹͳΔͱ͍͏ͱ͖ɺͦ͜͠Ͱࣦഊ͕ى͖ͳ͔ ͬͨΒɺͬͱͻͲ͍͜ͱ͕ى͍ͬͯͨ͜ɺͱ͍͏ՄೳੑΛ ͍Ͱ͘Ε͍ͯΔͱࢥ͍·͠ΐ͏ɻ Ή͔͍ͣ͠ͻͱʔ
ͱ͜ΖͰ͖ͬ͞ɺoriginʹʮmasterΛʯpush ͨ͠ͱݴ͍·ͨ͠ɻ
ͭ·Γ...GitHubʹ·ͩ css-coding ϒϥϯν ͕ͳ͍!!
git push origin css-coding
ϒϥϯνpushͰ͖ͨ
pushͱpullϒϥϯν͝ͱʹݸผͰ͢ɻ ͲΕΛpush/pull͢Δ͔Λҙࣝ͠·͠ΐ͏ɻ ݸผ͔ͩΒͱ͍ͬͯ༰ྔ͕ഒʹͳΔΘ͚Ͱ͋Γ·ͤ Μɻফඅ͢Δͷࠩͷྔ͚ͩͰ͢ɻ
ϩʔΧϧͷ࡞ۀσΟϨΫτϦΛআͯ͠ฏؾɻ ͜ΕͰαʔόʹશ෦͋ΔͷͰ
GitHubͷ͔͜͜Β
git clone ...
·͋ɺclone ͢Δͷ͍͍ͩͨଞਓͰ͢ɻ ్த͔Β࡞ۀʹࢀՃ͢Δਓɺgit init Ͱͳ ͘͜ͷ git clone ͔Βελʔτ͠·͢ɻ ͋ͱͰଞͷਓͱڞಉ࡞ۀͷ࿅श͠·͠ΐ͏ɻ
෮ݩͰ͖·ͨ͠
͍ʙΑ͔ͬͨΑ͔ͬ...
͓? img
: ۭϑΥϧμμϝ GitۭͷϑΥϧμΛཧͰ͖·ͤΜɻ͋͘·ͰϑΝΠϧͷมߋ ͷཧͳͷͰɻ ۭͬΆͷϑΥϧμΛҡ͍࣋ͨ͠߹ɺதʹԿ͔μϛʔͷϑΝΠ ϧΛೖΕ͍ͯͩ͘͞ɻ μϛʔϑΝΠϧ໊ empty, .gitkeep, .gitignore,
.htaccess ͳͲ͍ Ζ͍Ζͳश׳͕͋Γ·͢ɻ ͋·Γ৺͠ͳ࣮͕ͯ͋͘Δ͜ͱ·ΕͰ͢ɻ
ͪͳΈʹmasterҎ֎ͷϦϞʔτϒϥϯνΛ ϩʔΧϧʹ࿈Εͯ͘ΔͳΒ... git branch css-coding origin/css-coding
͜͜·Ͱͷ·ͱΊ git remote add ϦϙδτϦ໊ ΞυϨε git push -u ϦϙδτϦ໊
ϒϥϯν໊ git push (:ϒϥϯν͝ͱ) git pull git clone ΞυϨε ۭͷϑΥϧμແࢹ͞ΕΔ git branch ϒϥϯν໊ origin/ϒϥϯν໊
༊͠(ry
͓ͨͤ͠·ͨ͠ GUIͰ͢Α
http://rowanj.github.com/gitx/
GitXͷ͍͢͝൛
clone
remote/fetch/pull/push
͜Μͳ͜ͱ·Ͱ git branch css-... origin/css-...
GitXgitίϚϯυʹ࣮ͳUIͳͷͰɺίϚϯ υͰཧղͨ͠ਓ͕͍͍͢Ͱ͢ɻ ͜ͷUIࣗମ͕ʮGitͰͰ͖Δ͜ͱू(؆қ൛)ʯ ͋Γ͕ͪͳૢ࡞͕ͻͱͱ͓Γ͋ΔͷͰɺ͞Β ʹษڧ͢ΔϙΠϯτ͕ݟ͖͑ͯ·͢ɻ
·ͩ͜Ε͡Ό͍ʹ͍͘ ͱࢥͬͨΒɺϝΠϯͰ ͏πʔϧͬͱࣗʹ ߹͏ͷΛબͼ·͠ΐ͏ɻ
͜ΕͰΑ͏͘ ελʔτϥΠϯ
Ή͔͍ͣ͠ͻͱʔ
gitͷίϚϯυ Ή͔͍ͣ͠ͷʙ
None
gitͷίϚϯυମܥʮ͏ਓͷؾ࣋ͪʯͰ ͳ͘ʮ෦ઃܭͷࣄʯͰͰ͖͍ͯ·͢ɻ ࡞ͬͨਓͷؾ࣋ͪʹͳͬͨΒཧղͰ͖Δͱ͔ ແཧήʔɻ ͳͷͰ...
ࡉ͔͍ૢ࡞ํ๏Ε͔ͯ·͍·ͤΜɻ ༻ޠͱ֓೦ͱΈͷجຊΛΕͳ͍͜ͱ͕ॏཁͰ͢ɻ ཧղͯ͠͠·͑ɺGUIΛͬͨ΄͏͕ޮతͰ͢ɻ ίϚϯυΛΔͱɺGUIͷઆ໌ςΩετ͕ίϚϯυΦϓγϣ ϯͷԿΛࢦ͢ͷ͔ɺ૾Ͱ͖ΔΑ͏ʹͳΓ·͢ɻ ͔ͩΒͦ͜
ͨͩ͠... ຊʹࠔͬͨͱ͖άάͬͯίϚϯυΛίϐϖͰ͖ΔΑ͏ʹ ͠ͱ͖·͠ΐ͏ɻ GUIͷૢ࡞खॱٕज़ϒϩάʹॻ͔Εʹ͍͘ɻ gitάάΕΔ! ←͜͜ॏཁ
͓ർΕ༷Ͱͨ͠