Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Version Control - Git

MarsW
August 05, 2014

Version Control - Git

MarsW

August 05, 2014
Tweet

More Decks by MarsW

Other Decks in Technology

Transcript

  1. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    2
    甚麼是版本控制? 能吃嗎?


    !
    !
    在講版本控制以前,
    對以下情況應該會有種似曾相識的感覺

    View full-size slide

  2. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    3
    貫徹始終
    ❑ xx_hwk4.c //20131026

    View full-size slide

  3. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    4
    貫徹始終
    ❑ xx_hwk4.c //20131026
    ❑ xx_hwk4.c //20131027

    View full-size slide

  4. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    5
    貫徹始終
    ❑ xx_hwk4.c //20131026
    ❑ xx_hwk4.c //20131027
    .
    .
    .
    ❑ xx_hwk4.c //20131127

    View full-size slide

  5. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    6
    貫徹始終
    ❑ xx_hwk4.c //20131026
    ❑ xx_hwk4.c //20131027
    .
    .
    .
    ❑ xx_hwk4.c //20131127
    啊…改壞了,上個還可以work的版本…

    View full-size slide

  6. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    7
    貫徹始終
    ❑ xx_hwk4.c //20131026
    ❑ xx_hwk4.c //20131027
    .
    .
    .
    ❑ xx_hwk4.c //20131127
    啊…改壞了,上個還可以work的版本…

    View full-size slide

  7. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    8
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)

    View full-size slide

  8. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    9
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)

    View full-size slide

  9. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    10
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)

    View full-size slide

  10. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    11
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)
    ❑ xx_hwk4.c(這才是最終版)

    View full-size slide

  11. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    12
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)
    ❑ xx_hwk4.c(這才是最終版)
    ❑ xx_hwk4.c(最終的最終版)

    View full-size slide

  12. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    13
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)
    ❑ xx_hwk4.c(這才是最終版)
    ❑ xx_hwk4.c(最終的最終版)
    ❑ xx_hwk4.c(最最最最終版)

    View full-size slide

  13. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    14
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)
    ❑ xx_hwk4.c(這才是最終版)
    ❑ xx_hwk4.c(最終的最終版)
    ❑ xx_hwk4.c(最最最最終版)
    ❑ xx_hwk4.c(不要懷疑 交這個就對了)

    View full-size slide

  14. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    15
    你是這樣命名的嗎?
    ❑ xx_hwk4.c(1)
    ❑ xx_hwk4.c(2)
    .
    .
    .
    ❑ xx_hwk4.c(最終版)
    ❑ xx_hwk4.c(這才是最終版)
    ❑ xx_hwk4.c(最終的最終版)
    ❑ xx_hwk4.c(最最最最終版)
    ❑ xx_hwk4.c(不要懷疑 交這個就對了)

    View full-size slide

  15. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    16
    還是這樣?
    ❑ xx_hwk4_20131126_v1.c
    ❑ xx_hwk4_20131127_v2.c
    .
    .
    .
    v1
    ……
    !
    v2
    ……
    README

    View full-size slide

  16. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    17
    如果有很多⼈人⼀一起合作…
    ❑ AAA_xx_hwk4_20131126_v1.c
    ❑ BBB_xx_hwk4_20131127_v2.c
    .
    .
    .

    View full-size slide

  17. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    18
    我在改 XXYY 功能,不要動!!!

    View full-size slide

  18. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    19
    我在改 XXYY 功能,不要動!!!

    View full-size slide

  19. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    20
    我在改 XXYY 功能,不要動!!!

    View full-size slide

  20. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    21
    跟別⼈人合併就是悲劇的開始
    ❑ 我在我的電腦可以跑的阿!
    ❑ 昨天還好好的!
    ❑ 你⼀一定弄錯版本了!
    ❑ 這BUG我修了阿!
    ❑ 你到底做了甚麼才讓程式出錯?

    View full-size slide

  21. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    22
    版本控制
    就像遊戲存檔⼀一樣,打不贏boss、忘了拿寶,!
    可以回到前⾯面的存檔重練。!
    ❑ 良好的開發歷程記錄!
    ❑ 統⼀一管制、衝突管理!
    ❑ ⾃自動化應⽤用

    View full-size slide

  22. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    23
    版本控制
    ❑ Local Version Control

    View full-size slide

  23. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    24
    版本控制
    ❑ Centralized Version Control
    • SVN

    View full-size slide

  24. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    25
    版本控制
    ❑ Centralized Version Control
    • SVN

    View full-size slide

  25. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    26
    版本控制
    ❑ Distributed Version Control
    • Git

    View full-size slide

  26. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    27
    Git
    ❑ Setup
    • git clone
    1. Update
    • git pull
    2. Coding
    • git status
    • git add
    • git commit
    3. Push
    • git push
    !
    ❑ http://try.github.io/levels/1/challenges/1
    Local Remote
    git status

    View full-size slide

  27. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    28
    Other Services
    ❑ Github
    ❑ Bitbucket

    View full-size slide

  28. C
    o
    m
    pu
    ter
    C
    en
    ter
    ,
    C
    S,
    N
    C
    T
    U
    29
    References
    ❑ http://tech.marsw.tw/blog/2013/08/16/git-notes-github
    !
    ❑ learnGitBranching
    http://pcottle.github.io/learnGitBranching

    View full-size slide