SlideShare a Scribd company logo
1 of 43
Download to read offline
如何進行專案管理
版本控制
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

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

Git 入門與實作
Git 入門與實作Git 入門與實作
Git 入門與實作奕浦 郭
 
GIT實務操作與理論
GIT實務操作與理論GIT實務操作與理論
GIT實務操作與理論鵬 大
 
Git入门与实践
Git入门与实践Git入门与实践
Git入门与实践LC2009
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战icy leaf
 
Oracle10g Rac Configuration For Linux X86
Oracle10g Rac Configuration For Linux X86Oracle10g Rac Configuration For Linux X86
Oracle10g Rac Configuration For Linux X86dbabc
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on praticeKenny (netman)
 
Code review on github training ( intermediate )
Code review on github training ( intermediate )Code review on github training ( intermediate )
Code review on github training ( intermediate )JS Lee
 
Git & git flow
Git & git flowGit & git flow
Git & git flowAmo Wu
 
Git原理与实战 201607
Git原理与实战 201607Git原理与实战 201607
Git原理与实战 201607Charles Tang
 

Similar to 如何進行專案管理 - 版本控制 (10)

Git 入門與實作
Git 入門與實作Git 入門與實作
Git 入門與實作
 
GIT實務操作與理論
GIT實務操作與理論GIT實務操作與理論
GIT實務操作與理論
 
Nova与虚拟机管理
Nova与虚拟机管理Nova与虚拟机管理
Nova与虚拟机管理
 
Git入门与实践
Git入门与实践Git入门与实践
Git入门与实践
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战
 
Oracle10g Rac Configuration For Linux X86
Oracle10g Rac Configuration For Linux X86Oracle10g Rac Configuration For Linux X86
Oracle10g Rac Configuration For Linux X86
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
 
Code review on github training ( intermediate )
Code review on github training ( intermediate )Code review on github training ( intermediate )
Code review on github training ( intermediate )
 
Git & git flow
Git & git flowGit & git flow
Git & git flow
 
Git原理与实战 201607
Git原理与实战 201607Git原理与实战 201607
Git原理与实战 201607
 

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