Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
[ chusiang@nsysucm ~ ] $ cat .profile # Author: 㲺Ռᗼ / chusiang.lai (at) gmail.com # Blog: http://note.drx.tw # Modified: 2015-04-29 17:50 GitHub & Bacis with SourceTree 1
Slide 2
Slide 2 text
橕ෝ㲺Ռᗼ • 5 ଙ犥Ӥጱ Git ֵአ妿涢牐 • 獮 Foxconn 敟誢ૡ纷䒍牐 • 匍肬 DrSays IT ૡ纷䒍牐 • ፘ橕֢ߝ茐֢物 • LifeZMD • @be_vimmer_tw • ̽ਠ獊አ GNU/Linux ૡ֢̾ • 㲺Ռጱ執懿 2
Slide 3
Slide 3 text
伛猋অӞ矐绗ᒌ㻟牫樄ত㾏牦 3
Slide 4
Slide 4 text
Outline I. Git ฎՋ讕? II. GitHub ݈ฎՋ讕? III. Git & GitHub ݢ犥ெ讕ሻ? IV. 10 ౮傶 Git य़䒍牐 V. GitHub 褰璤介涢牐 4
Slide 5
Slide 5 text
Ⅰ. Git ฎՋ讕? 5
Slide 6
Slide 6 text
–Wikipedia Git ฎӞ㮆獤碂ୗ粚矒ګ敟誢牧磧ڡኧ羳ේ牨 箓絮艌 (Linus Torvalds) 獺֢牧ෝ 2005 ଙ犥 GPL 朰ڊ牐磧ڡฎ傶ԧๅ磪硳ሲጱᓕቘ Linux Kernel 樄 咳ᘒ戔懯ጱ牐 6
Slide 7
Slide 7 text
Git ฎՋ讕? • SCM (Source Code Management, Software Configuration Management) • VCS (Version Control Software) • 獤碂ୗጱ粚矒ګ羬翄 • ᛔኧ敟誢 (GPL License) 7 ྭ襑 Server牧ݢ櫝娄ֵአ 犋ொᤩ薛䥁牏犋ொ౮傶敟誢疅㱾
Slide 8
Slide 8 text
䷱磪粚矒ᓕጱӮኴ य़疑᮷妿稲螂ጱ̿ಋ䵝̀ଙդ 8
Slide 9
Slide 9 text
9 䲆礯䄸 粚矒ګ 翕᪠臻蟠 粚矒ګ • FTP 粚矒ګ • 瓟婘䲆粚矒ګ • Google 襇ᒒᏝ繕粚矒ګ • Dropbox 粚矒ګ • ...
Slide 10
Slide 10 text
ᮎ֖ሴҨұک皈ฎࣁ䌃Ջ讕ࠡ牦 10
Slide 11
Slide 11 text
磪 SVN ጱӮኴ य़疑᮷妿稲螂ጱ̿ಋ䵝̀ଙդ #2 11
Slide 12
Slide 12 text
䷱磪翕᪠ฎᥝெ讕䌃 code ࠡ牦牦 12
Slide 13
Slide 13 text
磪 Git ጱӮኴ ಋ䵝? 粋 code? 猖猖獤ጱ竃༩ 13
Slide 14
Slide 14 text
抑? ࣁ֜碻? ᛔ౯硼蝄 狶ԧՋ讕? ࣁ Git ጱӮኴ愊眅ݢ犥፡ک … 托 奞 虻 懱 14
Slide 15
Slide 15 text
獡蚎螂ኸ綫撪 15
Slide 16
Slide 16 text
–jserv ̿Git ฎӞ㮆ݢ犥虏匍ࣁጱᛔ૩牏螂݄ጱᛔ૩๚㬵 ጱᛔ૩وݶ樄咳ጱ粚矒ګ羬翄牐̀ 16
Slide 17
Slide 17 text
Git 10 蝰ଙ牧Linux ԏᆿ 藳犢ฎெ讕ࣁ 10 ॠ獉樄咳ਠ౮ 禼ࣁ娄 - http://goo.gl/zvavk3 17
Slide 18
Slide 18 text
Ⅱ. GitHub ݈ฎՋ讕? 18
Slide 19
Slide 19 text
–chusiang GitHub ฎӞ㮆׀珿ጱ Git դᓕ牏 Issue tracking ... 缛ጱ纷ୗ嘨ᐒԻଘݣ牐 19
Slide 20
Slide 20 text
GitHub ਥො翕ᒊ https://github.com/ 20
Slide 21
Slide 21 text
Git Web 21
Slide 22
Slide 22 text
git diff 22
Slide 23
Slide 23 text
Issue Tracking 23
Slide 24
Slide 24 text
Wiki 24
Slide 25
Slide 25 text
Follwers 25
Slide 26
Slide 26 text
Ⅲ. Git GitHub ݢ犥ெ讕ሻ? 26
Slide 27
Slide 27 text
ग़Ո㶧ݶ樄咳 • LifeZMD 傶 Charlie, Chu, Dick, Olga, Steven, chusiang ෝ iDSBG ᒫӣ䌵 HTML5 Hackathon ಅ蕣֢牐 • 穉搴౮婧物ᒫ 4 ݷ牐 • 穉搴碻樌物2 ॠ 1 ज़牐 • 㿁褧Ո碍物6 Ո牐 LifeZMD - http://goo.gl/OHJK9u 27
Slide 28
Slide 28 text
覌眲翕ᒊ SM ฎ㮆ֵአ GitHub Pages ๐率 ጱ HTML, CSS Javascript ಅ䌃౮ ጱय़ਁ䁭 Web Apps牐 SM - http://sm.drx.tw 28
Slide 29
Slide 29 text
蝑 Patch 憽獨Ոጱ䌕礯犋䄪ਠ聅牫 ᮎ疰ض fork 獨Ոጱ䌕礯牧 硬ਠ code ٚ蝑 Pull Requests 㹧牦 @be_vimmer_tw - http://goo.gl/TVYHsL 29
Slide 30
Slide 30 text
䌃䨗 • 萞ኧ GitHub GitBook ๐率ጱ碉 ݳ牧౯㮉ݢ犥ֵአ Markdown 承ဩ 砰䌃ᒍ牧㪔碉ቘ౮㲘牐 • GitBook ݶ碻ඪൔ Web, PDF, ePub mobi 缛ग़圵໒ୗ牐 ਠ獊አ GNU/Linux ૡ֢ - http://goo.gl/OHJK9u 30
Slide 31
Slide 31 text
瞱媲碉ݳ (CI) 砇蟴䔶य़ጱ Jenkins CI牧ܨݢ蝱ᤈ ᛔ㵕玕介手 (Web UI, Unit test)牏 翥捌 (AOSP)牏蝢Ꭳ懱௳ (Email, HipChat, Slack) ... 缛碉ݳ牐 Jenkins CI - https://ci.jenkins-ci.org/ 31
Slide 32
Slide 32 text
–chusiang ̿磪ԧ Git 疰অ穉䌃纷ୗݢ犥蚤ሻ㻌秚蝿瞁Ӟ䰬牧 ݢ犥褰碻㱪ਂ捝玲蝱ଶ牧犋ᓕฎᥝ盠蝧Ꮘ橕螭ฎ ᥝ誢涢ݱ㮆獤ඪ玀眐᮷ݢ犥斕誫ጱ旰ک牐̀ 32
Slide 33
Slide 33 text
Ⅳ. 10 ౮傶 Git य़䒍 33
Slide 34
Slide 34 text
ࣁ 樄ত ԏ獮殾伛猋 ۑ毆珿ٌԪ牧ضڥٌ瑊 ጱ Tool 34
Slide 35
Slide 35 text
SourceTree Terminal or 35
Slide 36
Slide 36 text
螭磪 ᪒᪡竝 ጱ ID Email 36
Slide 37
Slide 37 text
# 戔ਧֵአᘏݷ圸 $ git config --global user.name "foo" # 戔ਧ襎ৼמᓟ $ git config --global user.email "
[email protected]
" 37
Slide 38
Slide 38 text
ᒫ 1 物蕦蕣 (clone) 膏ڡত玕 (init) మ盠蝧Ӥಋ牫ᮎ疰ضℂಧ樄ত㹧牦 38
Slide 39
Slide 39 text
ٚ clone 獮牧 藶ض fork 傶ෝݶྍ犥ӥ砺֢絑ह牧藶ضᛗ GitHub 蝱ᤈ fork牐 ૢ棎 39
Slide 40
Slide 40 text
蕦蕣 (clone) 舙犋ฎℂᛔ૩ጱ GitHub 蝱ᤈ蕦蕣 (clone)牧毆戔ฎ䷱磪稗褖Ӥ㯽 (push) ጱࡂ牦 40
Slide 41
Slide 41 text
ૢ棎 ૢ棎 41 # 蕦蕣 (clone) $ git clone
[email protected]
:chusiang/sandbox.git 夺ਁ 蟂犩藶硬౮ᛔ૩ጱ癱蒈 夺ਁ蟂犩藶硬౮ᛔ૩ጱ癱蒈 夺ਁ蟂犩藶硬
Slide 42
Slide 42 text
ڡত玕 (init) ࣁୌ缏Ӟ㮆碝ጱ Git 䌕礯ԏ獮牧౯㮉襑ಋ㵕ୌ缏瑿ᒒጱ碍硁䓚 (Local Repository)牧֕舙磪獮 Ո (蝢ଉ䨝ฎ羬翄ᓕቘ㹓) ୌ缏অ牧 fork ٌਙ䌕礯牧蝡碻౯㮉疰ݢ犥ኼ螂牐 42
Slide 43
Slide 43 text
ૢ棎 ૢ棎 # ୌ缏䌕礯ፓ袅㪔獥矦ᛗ扗ፓ袅皈ӥ $ mkdir /Users/jonny/vcs/demo; cd $_ # ୌ缏瑿碍硁䓚 (local repository) $ git init 43
Slide 44
Slide 44 text
ᒫ 2 物碝ी (add)牏ᑏ㵕 (mv)牏㳫ᴻ (rm) ݢమ౮ฎ CRUD 愊ጱ Create, Upgrade, Delete牐 44
Slide 45
Slide 45 text
ݦ棎 # 碝ी (Add)牏㳫ᴻ (Remove) $ git { add | rm } README.md # ᑏ㵕 (Move) $ git mv README.md foo.md
Slide 46
Slide 46 text
ᒫ 3 物Ի (commit) ࣁ Git ጱྯӞ㵕愊牧᮷ฎአ commit 㬵懿袅ጱ牐 46
Slide 47
Slide 47 text
# Ի (Commit) $ git commit README.md git commit ૢ棎 蜍獈ਁ 47
Slide 48
Slide 48 text
Upgrade to Lv1 48
Slide 49
Slide 49 text
ᒫ 4 物礚፡制眲 (status) 膏稲ݥ懿袅 (log) ࣁ Git ጱӮኴ蝈᪠碻牧አ status log 疰䌘ԧ牐 49
Slide 50
Slide 50 text
礚፡制眲 (status) 匍ࣁ狶کߺӞ㵕ԧ? ፡ status 疰Ꭳ螇ԧ牦 50
Slide 51
Slide 51 text
# 粚制眲 (Status) $ git status git status 51
Slide 52
Slide 52 text
礚፡稲ݥ懿袅 (log) ࣁ Console 愊㲺Ռ聜䙼አ git lg ጱ獨ݷ (alias) 㬵፡粚䰽牐 52
Slide 53
Slide 53 text
# 薪፡粚懿袅 $ git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' git log 53
Slide 54
Slide 54 text
ᒫ 5 物礚፡懿袅 (checkout) 拻ਠԧ㱪ਂ蝱ଶ牧矑ӥ㬵疰ฎ捝玲 (Read) 蝱ଶ牐 54
Slide 55
Slide 55 text
# 礚፡礓蝱ଶ碻ጱ懿袅 $ git checkout 09a3d66 ૢ棎 ૢ棎 ૢ棎 55
Slide 56
Slide 56 text
ᒫ 6 物穉䌘粚癩吖 (diff) 㴄㴄硬ԧՋ讕 code? 磪 diff ܨݢӞፓ啻簁牐 56
Slide 57
Slide 57 text
# 穉䌘 (Different) 吚獮粚癩吖 $ git diff HEAD 57
Slide 58
Slide 58 text
Upgrade to Lv2 58
Slide 59
Slide 59 text
ᒫ 7 物വ蝑 (push) Ӥ㯽ᛗ螐ᒒ (remote) ጱ碍硁䓚 (Repository)牐 59
Slide 60
Slide 60 text
# വ蝑 (Push) $ git push origin master ૢ棎 ૢ棎 60
Slide 61
Slide 61 text
ᒫ 8 物玲 (pull) ℂ螐ᒒ (remote) 碍硁䓚 (Repository) ӥ斉牐 61
Slide 62
Slide 62 text
# 玲 (Pull) $ git pull origin master ૢ棎 ૢ棎 62
Slide 63
Slide 63 text
ᒫ 9 物䞳祌狕硬 (checkout) 纷ୗ䌃粋ԧ? ᮎ疰᯿毣㬵螂މ牦 63
Slide 64
Slide 64 text
# 萞ኧ checkout 䞳祌狕硬 $ git checkout README.md ૢ棎 ૢ棎 64
Slide 65
Slide 65 text
65 Upgrade to Lv3
Slide 66
Slide 66 text
ᒫ܈物獤ඪ (branch) 膏ݳ㬫 (merge) 䋊䨝 branch merge ܨݢ藯ฎ聜य़౮ۑێԧ牦 66
Slide 67
Slide 67 text
粚䰽 ࣁ樄ত獮ض፡Ӟӥ奾ຎ牐 master dev 67
Slide 68
Slide 68 text
獤ඪ (branch) ݶӞ稠蝿瞁牧者磪犋ݶጱ獤ඪ玀眐牐 68
Slide 69
Slide 69 text
# ୌ缏獤ඪ $ git branch dev $ git checkout -b dev ૢ棎 master 69 ૢ棎
Slide 70
Slide 70 text
# ڜڊ獤ඪ $ git branch master 70
Slide 71
Slide 71 text
# 萞ኧ checkout 獥矦ᛗ dev 獤ඪ $ git checkout dev ૢ棎 x2 dev master 71
Slide 72
Slide 72 text
# ෝ dev 獤ඪ碝ी䲆礯牧㪔Ի $ git add branch_demo.txt $ git commit -m 'Demo for branch' dev 72
Slide 73
Slide 73 text
Branch? 膐ಋݢ 樄ԧ碝ጱ branch 盅螭ᥝࣁ碝ጱ branch 愊 commit 螂፡ک獤ඪ䰽牐 dev master Uncommitted changes 73
Slide 74
Slide 74 text
ݳ㬫 (merge) 玀眐獤ඪԋԧ牧者磪ࢧکԆ娄ጱӞॠ牐 74
Slide 75
Slide 75 text
ૢ棎 x2 # 萞ኧ checkout 獥矦ᛗ master 獤ඪ $ git checkout master dev master 75
Slide 76
Slide 76 text
# ෝ master ݳ㬫 dev 獤ඪ $ git merge --no-ff dev master 76
Slide 77
Slide 77 text
ݳ㬫ਠ౮牦 master 77
Slide 78
Slide 78 text
眅૪聜Ӥ犔ஞဩ Congratulation ! 78
Slide 79
Slide 79 text
Ⅴ. GitHub 褰璤介涢 79
Slide 80
Slide 80 text
च砺֢ (Basic) 1. ጭ獈 Github牐 - https://github.com/ 2. 䌘 Lab ጱ Repository 蝱ᤈ fork牐 - https://github.com/chusiang/sandbox/ 3. ӥ斉纷ୗ嘨牐 $ git clone https://github.com/YourName/sandbox.git 4. 碝ी䲆礯㪔Ի牐 $ git { add | status | commit } 5. Ӥ㯽纷ୗ嘨牐 $ git push 80 Login GitHub fork Repository git clone git add git commit git status git push Finish? Yes No
Slide 81
Slide 81 text
蝱褩砺֢ (Advanced) 1. ෝٌਙ᪠䕩ٚ稞ӥ斉纷ୗ嘨牐 $ git clone https://github.com/YourName/sandbox.git 2. 碝ी牏狕硬牏㳫ᴻ䲆礯㪔Իग़稞牐 $ git { add | mv | rm | status | commit } 3. 碝ी獤ඪ㪔Իग़稞牐 4. 獥矦ᛗݱ㮆夵袅讨獤ඪ牐 $ git checkout OXOXOXX 5. ݳ㬫獤ඪ牐 6. Ӥ㯽纷ୗ嘨牐 $ git push origin master 81 dev master Finish
Slide 82
Slide 82 text
ૡ珶๐率 82
Slide 83
Slide 83 text
2015 2015.10.? - http://mopcon.org 83
Slide 84
Slide 84 text
ਥො翕ᒊ http://mopcon.org 罭妟ᗭ http://fb.me/mopcon 84
Slide 85
Slide 85 text
85
Slide 86
Slide 86 text
http://coscup.org 86
Slide 87
Slide 87 text
Q & A 瑥纔ೌ訤觬 藶㷢ᘍ匍䁰و執կ - http://goo.gl/aqTTYO 87
Slide 88
Slide 88 text
Reference • 匍䁰و執կ - http://goo.gl/aqTTYO • 匍䁰ፗ砮翕࣎ - https://youtu.be/5ftNjrpzVqM • 蝫糞ৼ᮷胼睞ጱ Git 獈槹瞲ܖ | 揔໒禼 (Backlog) - http://backlogtool.com/git-guide/tw/ • 䌃妔य़疑ጱ Git 硽䋊 | slideshare - http://www.slideshare.net/littlebtc/git-5528339 • Git 䋿率瑽薹 | slideshare - http://www.slideshare.net/pokaichang72/git-42427674 • Git ਥොկ - http://git-scm.com/book/zh-tw/v1 • 瑽粙㬵რ物 • 㾴疑瑿ቘ褾扮 - http://www.ngtaiwan.com • 10 Years of Git | Atlassian Git Tutorial - https://www.atlassian.com/git/articles/10-years-of-git/ 88
Slide 89
Slide 89 text
E N D 89