如何進行專案管理 - 版本控制

43
如何進行專案管理 版本控制 Nagi Lin<[email protected]> 2014/4/2 1

Upload: nagi-lin

Post on 18-Nov-2014

388 views

Category:

Leadership & Management


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 如何進行專案管理 - 版本控制

如何進行專案管理 版本控制

Nagi Lin<[email protected]>

2014/4/2 1

Page 2: 如何進行專案管理 - 版本控制

◦版本控制系統(RCS) ◦Step by step: 烏龜(tortoisegit) ◦ Init ◦ Commit / Reset ◦ Diff ◦ Pull / Push Remote: Bitbucket

◦ -------------------------------------------Day2 ◦ Branch ◦ Checkout / Merge / Rebase

◦ ---------------------------------AnotherDay

◦ 問題追蹤系統(ITS)

◦ Step by step: Redmine

◦ 建立 / 回覆 問題(issue)

◦ 問題狀態

2014/4/2 2

Page 3: 如何進行專案管理 - 版本控制

我也不是很會用Git

如果有問題請盡量問Google

2014/4/2 3

Page 4: 如何進行專案管理 - 版本控制

版本控制系統 Revision Control System

2014/4/2 4

Page 5: 如何進行專案管理 - 版本控制

以下場景純屬虛構

如有雷同實屬巧合

2014/4/2 5

Page 6: 如何進行專案管理 - 版本控制

「欸你程式寫完沒?」

『寫完啦!待會拿隨身碟摳給你』

2014/4/2 6

Page 7: 如何進行專案管理 - 版本控制

2014/4/2 7

Page 8: 如何進行專案管理 - 版本控制

「欸你改了哪些地方?」

『幹!是不會自己看看修改紀錄逆!』

m o d i f y l o g

2014/4/2 8

Page 9: 如何進行專案管理 - 版本控制

2014/4/2 9

Page 10: 如何進行專案管理 - 版本控制

「欸欸整合的工作就交給你囉!

哥先出去玩了掰!>_^」

『…………』

「欸我也寫完了,檔案傳給你囉」

2014/4/2 10

Page 11: 如何進行專案管理 - 版本控制

2014/4/2 11

Page 12: 如何進行專案管理 - 版本控制

→ 解壓縮

→ 看紀錄找到修改過的檔案

→ 複製修改過的檔案到最新版本的資料夾

→ (重複…)

2014/4/2 12

Page 13: 如何進行專案管理 - 版本控制

(Demo ing)

『…奇怪為什麼這邊的功能有問題?』

「阿幹!這邊有改忘記跟你說了!!」

2014/4/2 13

Page 14: 如何進行專案管理 - 版本控制

<囧> 還是洗洗睡了吧…

2014/4/2 14

Page 15: 如何進行專案管理 - 版本控制

• 只改某個檔案的某一行,卻要把整個網站傳給其他夥伴

• 依靠修改紀錄(Modify Log)檔,如果忘記寫上就GG了

• 整合的人必須比誰都清楚誰改了那些檔案,然後要花時

間在整合工作上(Copy & Paste)

• And 其他零零總總…

2014/4/2 15

Page 16: 如何進行專案管理 - 版本控制

<囧> 所以才要用版本控制阿!

2014/4/2 16

Page 17: 如何進行專案管理 - 版本控制

2014/4/2 17

Page 18: 如何進行專案管理 - 版本控制

2014/4/2 18

Page 19: 如何進行專案管理 - 版本控制

2014/4/2 19

Page 20: 如何進行專案管理 - 版本控制

版本控制系統 版本控制(Revision control)是維護工程藍圖的標準作法,能追蹤

工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟體

工程技巧,藉此能在軟體開發的過程中,確保由不同人所編輯的同

一程式檔案都得到同步。

2014/4/2 20

Page 21: 如何進行專案管理 - 版本控制

版本控制系統

專案 版本(1)

4eca

專案 版本(2)

2f51 新增index.php

專案 版本(3)

b19d 修改index.php 新增<h2>

2014/4/2 21

Master Master Master

Page 22: 如何進行專案管理 - 版本控制

版本控制系統

專案 版本(3)

b19d

專案 版本(4)

ba47 新增Readme.txt

專案 版本(5)

b19d 新增qwe.txt

2014/4/2 22

回到版本4

Master Master Master

Page 23: 如何進行專案管理 - 版本控制

版本控制系統 集中式架構 ◦ Subversion

2014/4/2 23

Page 24: 如何進行專案管理 - 版本控制

版本控制系統 分散式架構 ◦ Git、Mecurial

2014/4/2 24

Page 25: 如何進行專案管理 - 版本控制

版本控制系統

2014/4/2 25

Page 26: 如何進行專案管理 - 版本控制

Git - tortoisegit

2014/4/2 26

Page 27: 如何進行專案管理 - 版本控制

tortoisegit 需要下載並安裝: ◦ Tortoisegit(介面)、msysgit(本體)

2014/4/2 27

Page 28: 如何進行專案管理 - 版本控制

init

2014/4/2 28

Page 29: 如何進行專案管理 - 版本控制

init

2014/4/2 29

Page 30: 如何進行專案管理 - 版本控制

commit

2014/4/2 30

Page 31: 如何進行專案管理 - 版本控制

commit

2014/4/2 31

Page 32: 如何進行專案管理 - 版本控制

reset

2014/4/2 32

Page 33: 如何進行專案管理 - 版本控制

reset

2014/4/2 33

Page 34: 如何進行專案管理 - 版本控制

reset

2014/4/2 34

Soft: Reset commit Mixed: Reset cache (保留檔案) Hard: Reset Tree (刪除檔案)

Page 35: 如何進行專案管理 - 版本控制

Remote Server

2014/4/2 35

Page 36: 如何進行專案管理 - 版本控制

BitBucket Create Account (with edu mail)

Create Repo

Pull

Push

2014/4/2 36

Page 37: 如何進行專案管理 - 版本控制

Conflict

2014/4/2 37

Page 38: 如何進行專案管理 - 版本控制

Conflict

2014/4/2 38

Page 39: 如何進行專案管理 - 版本控制

Conflict

2014/4/2 39

Page 40: 如何進行專案管理 - 版本控制

Conflict

2014/4/2 40

Page 41: 如何進行專案管理 - 版本控制

開發注意事項 1. Commit的內容一定要寫清楚!!!!!!!

1. Commit的內容一定要寫清楚!!!!!!!

1. Commit的內容一定要寫清楚!!!!!!!

2. 養成習慣,開始作業之前跟結束之後都要Pull最新的Code

◦ 不然會改Conflict改到死

3. 養成習慣,寫到一個程度就Push到Server上

◦ 不然你會發現你push不上去,準備洗洗睡然後解Conflict

4. 今天這個還不到基本功能的一半,下周講Branch(分支)的操作以後才算比較

完整的基本教學

◦ 我也是初學者,有些問題我也真的不會,真的遇到請拜估狗大神

2014/4/2 41

Page 42: 如何進行專案管理 - 版本控制

參考資料 ◦ 寫給大家的 Git 教學

http://www.slideshare.net/littlebtc/git-5528339

◦ git-版本控制:利用-git-reset-恢復檔案、暫存狀態、commit-訊息/

http://goo.gl/zbS27l

◦ 偉大的維基百科

2014/4/2 42

Page 43: 如何進行專案管理 - 版本控制

End Thanks For Your Attention

2014/4/2 43