狠狠撸

狠狠撸Share a Scribd company logo
如何進行專案管理
版本控制
Nagi Lin<johnny5581@gmail.com>
2014/4/2 1
?版本控制系統(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
我也不是很會用Git
如果有問題請盡量問Google
2014/4/2 3
版本控制系統
Revision Control System
2014/4/2 4
以下場景純屬虛構
如有雷同實屬巧合
2014/4/2 5
「欸你程式寫完沒?」
『寫完啦!待會拿隨身碟摳給你』
2014/4/2 6
2014/4/2 7
「欸你改了哪些地方?」
『幹!是不會自己看看修改紀錄逆!』
m o d i f y l o g
2014/4/2 8
2014/4/2 9
「欸欸整合的工作就交給你囉!
哥先出去玩了掰!>_^」
『…………』
「欸我也寫完了,檔案傳給你囉」
2014/4/2 10
2014/4/2 11
→ 解壓縮
→ 看紀錄找到修改過的檔案
→ 複製修改過的檔案到最新版本的資料夾
→ (重複…)
2014/4/2 12
(Demo ing)
『…奇怪為什麼這邊的功能有問題?』
「阿幹!這邊有改忘記跟你說了!!」
2014/4/2 13
<囧>
還是洗洗睡了吧…
2014/4/2 14
? 只改某個檔案的某一行,卻要把整個網站傳給其他夥伴
? 依靠修改紀錄(Modify Log)檔,如果忘記寫上就GG了
? 整合的人必須比誰都清楚誰改了那些檔案,然後要花時
間在整合工作上(Copy & Paste)
? And 其他零零總總…
2014/4/2 15
<囧>
所以才要用版本控制阿!
2014/4/2 16
2014/4/2 17
2014/4/2 18
2014/4/2 19
版本控制系統
版本控制(Revision control)是維護工程藍圖的標準作法,能追蹤
工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟體
工程技巧,藉此能在軟體開發的過程中,確保由不同人所編輯的同
一程式檔案都得到同步。
2014/4/2 20
版本控制系統
專案
版本(1)
4eca
專案
版本(2)
2f51新增index.php
專案
版本(3)
b19d修改index.php
新增<h2>
2014/4/2 21
Master Master Master
版本控制系統
專案
版本(3)
b19d
專案
版本(4)
ba47新增Readme.txt
專案
版本(5)
b19d新增qwe.txt
2014/4/2 22
回到版本4
MasterMaster Master
版本控制系統
集中式架構
? Subversion
2014/4/2 23
版本控制系統
分散式架構
? Git、Mecurial
2014/4/2 24
版本控制系統
2014/4/2 25
Git - tortoisegit
2014/4/2 26
tortoisegit
需要下載並安裝:
? Tortoisegit(介面)、msysgit(本體)
2014/4/2 27
init
2014/4/2 28
init
2014/4/2 29
commit
2014/4/2 30
commit
2014/4/2 31
reset
2014/4/2 32
reset
2014/4/2 33
reset
2014/4/2 34
Soft: Reset commit
Mixed: Reset cache
(保留檔案)
Hard: Reset Tree
(刪除檔案)
Remote Server
2014/4/2 35
BitBucket
Create Account (with edu mail)
Create Repo
Pull
Push
2014/4/2 36
Conflict
2014/4/2 37
Conflict
2014/4/2 38
Conflict
2014/4/2 39
Conflict
2014/4/2 40
開發注意事項
1. Commit的內容一定要寫清楚!!!!!!!
1. Commit的內容一定要寫清楚!!!!!!!
1. Commit的內容一定要寫清楚!!!!!!!
2. 養成習慣,開始作業之前跟結束之後都要Pull最新的Code
? 不然會改Conflict改到死
3. 養成習慣,寫到一個程度就Push到Server上
? 不然你會發現你push不上去,準備洗洗睡然後解Conflict
4. 今天這個還不到基本功能的一半,下周講Branch(分支)的操作以後才算比較
完整的基本教學
? 我也是初學者,有些問題我也真的不會,真的遇到請拜估狗大神
2014/4/2 41
參考資料
? 寫給大家的 Git 教學
http://www.slideshare.net/littlebtc/git-5528339
? git-版本控制:利用-git-reset-恢復檔案、暫存狀態、commit-訊息/
http://goo.gl/zbS27l
? 偉大的維基百科
2014/4/2 42
End
Thanks For Your Attention
2014/4/2 43

More Related Content

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