狠狠撸

狠狠撸Share a Scribd company logo
. . . . . .
.
.
. ..
.
.
淺談 Source Control Management
yen3
長庚大學資訊工程學系
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 1 / 23
. . . . . .
About
.. About 狠狠撸
專題程式開發簡報,陸續有其他介紹
感謝李春良老師專題指導,使得這一系列簡報得己誕生
感謝 Josh Ko 在簡報排版上的指導與協助
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 2 / 23
. . . . . .
About
.. About Author
Computer Science Student
Blog: No title, no thinking, no meaning
E-mail: yen3rc 在 gmail 答康
隨手書寫生活
C, C++, Java, Haskell, LATEX
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 3 / 23
. . . . . .
Outline
.
..1 About
.
..2 Introduction
What?
Why?
.
..3 Source Control Management
Environment
Concept
branch
Software
.
..4 Software
git
Google Code with svn
Visual Studio.net With svn
.
..5 Conclusion
Conclusion
Reference
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 4 / 23
. . . . . .
Introduction What?
.. What is Source Control Management?
Source Control Management(SCM) 為 Open Source
界常見的專案開發工具.
針對 plain text ,比較與先前的檔案差異,
儲存修改之處。
若是架在 Server 上,支援多人上傳協同開發。
常見軟體有 svn, git, ...等等。
在常見的 Software IDE(Eclipse, NetBeans, vim XD, VS.net) 皆有
plug-in 支援
Visual Studio.net Team Suite 內建版本控制(不建議)
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 5 / 23
. . . . . .
Introduction Why?
.. Why do we need Source Control Management?
當寫程式需要備份時· · ·
當需要協同專案開發時· · ·
寫文件需要比較前後版本時· · ·
當需要寫情書時(大誤)· · ·
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 6 / 23
. . . . . .
Introduction Why?
.. How about Binary File?
硬碟夠大的話· · ·
Word(.doc) → binary ?le ( 考慮 LATEX系列 XD?)
程式碼 → plain text (LATEX檔也是 plain text 喔 XD)
寫情書的話 → 記事本 + 版本管理 XD
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 7 / 23
. . . . . .
Source Control Management Environment
.. Environment
Client-Server Architecture(client and server can be in the same
computer.)
Main Concept: di?, line-by-line comparing
It would add something ?le with SCM in your ?le of managing.
For project development, you could need a server(with ip) to upload
your ?le.
For personal development, you could use only one computer to ?nish
anything what you want.
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 8 / 23
. . . . . .
Source Control Management Environment
.. di?: comparing two ?les
01.cpp
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdlib>
#include <iterator>
template<class RAI>
void bubble_sort(RAI begin, RAI end){
for(RAI i=begin; i!=end; ++i){
for(RAI j=i+1; j!=end; ++j){
if(*i>*j) std::swap(*i, *j);
}
}
}
int main(int argc, char** argv){
std::vector<int> u(10, 0);
std::generate(u.begin(),
u.end(), rand);
bubble_sort(u.begin(), u.end());
std::copy(u.begin(), u.end(),
std::ostream_iterator<int>
(std::cout, "n"));
}
02.cpp
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdlib>
#include <iterator>
int main(int argc, char** argv){
std::vector<int> u(10, 0);
std::generate(u.begin(),
u.end(), rand);
std::sort(u.begin(), u.end());
std::copy(u.begin(), u.end(),
std::ostream_iterator<int>
(std::cout, "n"));
}
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 9 / 23
. . . . . .
Source Control Management Environment
.. java.util.List<E>
.
For Example: java.util.list < E >
..
.
. ..
.
.
Macinotosh-3:bubble yen3$ diff 01.cpp 02.cpp
7,15d6
< template<class RAI>
< void bubble_sort(RAI begin, RAI end){
< for(RAI i=begin; i!=end; ++i){
< for(RAI j=i+1; j!=end; ++j){
< if(*i>*j) std::swap(*i, *j);
< }
< }
< }
<
19c10
< bubble_sort(u.begin(), u.end());
---
> std::sort(u.begin(), u.end());
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 10 / 23
. . . . . .
Source Control Management Concept
.. Noun Explanation
1
Repository: 管理的 project ,有可能是一個檔案到
一個或數個資料夾
Pull/Push/Checkout: 下載
Branch: 上傳時,建立新的分支版本
Merge: 把不同的分支版本合併成 Master version
Con?ict: 版本衝突
Commit: 上傳
Revert: 復原為先前的版本
1
我愛git, jserv
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 11 / 23
. . . . . .
Source Control Management Concept
.. Requirement
2
軟體中設定自己的名字與 email,方便辨別,以負責
你的上傳
送交 (commit) 的程式碼必須是完整、可以執行、
沒有錯誤的程式碼。
送交程式碼時,請於備註欄位註明:更動過的檔案、
檔案做了哪些修改等細節。
在修改程式前,務必將程式更新 (update) 至最新
版本。
送交程式時若發生「衝突」,請解決衝突後再送交。
2
Zeroplex生活隨筆-SVN rules, Zeroplex
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 12 / 23
. . . . . .
Source Control Management branch
.. branch
衝突和分支不同
協同開發時所產生的情境
多人同時開發於同一檔案時,或者是目前已經足夠
穩定,想要開發新版時
若是新的分支足夠穩定,即可與 master branch 合併
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 13 / 23
. . . . . .
Source Control Management Software
.. Which Software is Source Control Management?
cvs: 對不起,我沒用過 XD
svn: 最常見的 SCM
git: 後起之秀,改善 svn 許多缺點
darcs: Haskell寫成的 SCM(比 git 還輕巧...Orz)
by yourself: 好主意!
plug-in:大多以 svn 為主,請自行 Google XD
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 14 / 23
. . . . . .
Software git
.. git
由 Linus Torvald 在2005年後發展,流行於許多
大型專案管理。
以速度快佔用體積小聞名。
IDE 較少 plug-in
簡報: Jserv’s Blog: 我愛git
教學: 國網中心blog: git原始碼管理
Server建置: walkingice’s blog: [Geek] Git and Gitweb
Eclipse with Git Plug-in: yen3’s blog: Intstall git plug-in in Eclipse
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 15 / 23
. . . . . .
Software git
.. Screenshot
現場實際操作
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 16 / 23
. . . . . .
Software Google Code with svn
.. Google Code wtih svn
現成的 svn server
若無授權限制 (GPL, BSD · · · )及程式碼公開問題,
Google Code 是一選擇
每個 Repository 大小限制 100mb
教學: ericsk’s blog :
用 Subversion 跟 Google Code 作版本控制(一)
教學: ericsk’s blog :
用 Subversion 跟 Google Code 作版本控制(二)
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 17 / 23
. . . . . .
Software Google Code with svn
.. Screenshot
現場實際操作
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 18 / 23
. . . . . .
Software Visual Studio.net With svn
.. Visual Studio.net With svn
Client: Visual Studio.net with AnhkSVN(expression edition 無法使用)
Server 可選擇架在 Google Code(現成 svn server)
Server: IIS + VisualSVN or Apache + VisualSVN (Windows
Enviornment)
簡單教學: yen3’s blog: Visual Studio + svn
並不是一個很穩定的解決方案,或許可以
考慮 Team Suite Solution(我沒用過XD)
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 19 / 23
. . . . . .
Software Visual Studio.net With svn
.. Screenshot
現場實際操作
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 20 / 23
. . . . . .
Software Visual Studio.net With svn
.. Using Experience
選一個最適合自己環境的 SCM
請一定要傳能動的程式上上去· · ·
上傳一定要記得寫註解,不寫· · ·
如果分工足夠精確,分別撰寫不同檔案,發生衝突
問題機會較小。
在 Open Source 界, SCM rules 需被嚴格遵守。
SCM也可視為一種程式碼備份方法
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 21 / 23
. . . . . .
Conclusion Conclusion
.. Conclusion
在專案開發下,可省下許多合併程式碼的時間。
工具只是輔助開發程式,而核心仍是程式設計。
這是只是專題程式開發學習的第一步。
多看 Open Source 界在做什麼,會學到很多有趣
的事。
防止程式碼洗掉的好選擇XD。
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 22 / 23
. . . . . .
Conclusion Reference
.. Reference
svn: http://subversion.tigris.org/
git: http://git-scm.com/
darcs: http://darcs.net/
Google Code: http://code.google.com
AnhkSVN: http://ankhsvn.open.collab.net/
yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 23 / 23

More Related Content

What's hot (20)

PDF
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
Simen Li
?
PDF
Gobject - Inherit (Chinese)
Kai-Feng Chou
?
PPTX
認識 C++11 新標準及使用 AMP 函式庫作平行運算
建興 王
?
PDF
Python&GUI
Leo Zhou
?
PPT
Introduction to C++ over CLI
建興 王
?
PPT
骋谤辞辞惫测介绍
profeter
?
PDF
系統程式 -- 第 12 章
鍾誠 陳鍾誠
?
PDF
系統程式 -- 為何撰寫此書
鍾誠 陳鍾誠
?
PDF
Free rtos workshop1@nuu
紀榮 陳
?
PDF
颁++工程实践
Shuo Chen
?
PPT
Go语言: 互联网时代的C
Googol Lee
?
PPT
闯础痴础内存泄漏及诊断
ivannotes
?
PPTX
Net Parallel Programming .NET平行處理與執行序
HO-HSUN LIN
?
PPT
Python 入门
kuco945
?
PDF
厂辫辞肠办:愿你的测试长长久久、生生不息
Shihpeng Lin
?
PDF
笔测迟丑辞苍变数与资料运算
吳錫修 (ShyiShiou Wu)
?
PDF
COSCUP 2016 - LLVM 由淺入淺
宗凡 楊
?
PDF
Android C Library: Bionic 成長計畫
Kito Cheng
?
PDF
[嵌入式系統] 嵌入式系統進階
Simen Li
?
PDF
HITCON CTF 2014 BambooFox 解題心得分享
Chong-Kuan Chen
?
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
Simen Li
?
Gobject - Inherit (Chinese)
Kai-Feng Chou
?
認識 C++11 新標準及使用 AMP 函式庫作平行運算
建興 王
?
Python&GUI
Leo Zhou
?
Introduction to C++ over CLI
建興 王
?
骋谤辞辞惫测介绍
profeter
?
系統程式 -- 第 12 章
鍾誠 陳鍾誠
?
系統程式 -- 為何撰寫此書
鍾誠 陳鍾誠
?
Free rtos workshop1@nuu
紀榮 陳
?
颁++工程实践
Shuo Chen
?
Go语言: 互联网时代的C
Googol Lee
?
闯础痴础内存泄漏及诊断
ivannotes
?
Net Parallel Programming .NET平行處理與執行序
HO-HSUN LIN
?
Python 入门
kuco945
?
厂辫辞肠办:愿你的测试长长久久、生生不息
Shihpeng Lin
?
笔测迟丑辞苍变数与资料运算
吳錫修 (ShyiShiou Wu)
?
COSCUP 2016 - LLVM 由淺入淺
宗凡 楊
?
Android C Library: Bionic 成長計畫
Kito Cheng
?
[嵌入式系統] 嵌入式系統進階
Simen Li
?
HITCON CTF 2014 BambooFox 解題心得分享
Chong-Kuan Chen
?

Viewers also liked (20)

PPT
Dmydocspatricelourdescollegepowerpointsmgnt1strategyformulationimplementation...
???? ????????
?
PPT
Group discussion
Hitesh Goyal
?
PPT
Management chap 6
Memoona Qadeer
?
PPTX
Management chap 11 committees
Memoona Qadeer
?
PPTX
Management chap 9
Memoona Qadeer
?
PPT
Attitudes & values
Hitesh Goyal
?
PPT
Managing The New Work Place
Sabih Kamran
?
PPT
Controlling ppt
Hitesh Goyal
?
PPT
Perspective mgt& leadership
Faraz Patel
?
PPTX
Managerial Control By Rajendra Nath Naik
Rajendra Nath Naik
?
PPTX
Business leading
vikasvadakara
?
PPT
Management controlling
omi10
?
PPTX
Controlling
17somya
?
PPT
Managing The New Workplace
Gregar Donaven Valdehueza
?
PPTX
POM Week1+2 ppt
21314061
?
PPTX
Leading vs managing ab
Andrew Bennett
?
PPT
Cp 6
kalthumzul
?
PPTX
The System and Process of Controlling
Mahamid Rahman
?
Dmydocspatricelourdescollegepowerpointsmgnt1strategyformulationimplementation...
???? ????????
?
Group discussion
Hitesh Goyal
?
Management chap 6
Memoona Qadeer
?
Management chap 11 committees
Memoona Qadeer
?
Management chap 9
Memoona Qadeer
?
Attitudes & values
Hitesh Goyal
?
Managing The New Work Place
Sabih Kamran
?
Controlling ppt
Hitesh Goyal
?
Perspective mgt& leadership
Faraz Patel
?
Managerial Control By Rajendra Nath Naik
Rajendra Nath Naik
?
Business leading
vikasvadakara
?
Management controlling
omi10
?
Controlling
17somya
?
Managing The New Workplace
Gregar Donaven Valdehueza
?
POM Week1+2 ppt
21314061
?
Leading vs managing ab
Andrew Bennett
?
The System and Process of Controlling
Mahamid Rahman
?
Ad

Similar to 漫談 Source Control Management (20)

PDF
Intro to svn
Yingshiuan Pan
?
PPTX
Git & Sourcetree 介紹
Adison wu
?
PPTX
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Alan Tsai
?
PPTX
電子內容管理 使用Git 與 github 1
Alan Tsai
?
PPTX
Introduction to Version Control System for Windows
Peter Chang
?
PPTX
工程師必備第一工具 - Git
Alan Tsai
?
PDF
2010 07-29-version control use git
Kang-Min Wang
?
PPTX
版本控制
Wen-Hsien SU
?
PPTX
闯补尘别蝉-版本控制
Study4TW
?
PDF
Git in a nutshell
Nelson Tai
?
PDF
Introduction to git
Bo-Yi Wu
?
PDF
幸福快乐的完美结局
Anna Su
?
ODP
2010 07-19-introduction version control system
Kang-Min Wang
?
PDF
寫給大家的 Git 教學
littlebtc
?
PDF
版本控制 - Mercurial
Cheyin L
?
ODP
Git basis - usage
Eason Cao
?
PDF
微型團隊的 web 程式開發流程
Chang Mt
?
PDF
如何與 Git 優雅地在樹上唱歌
Mu Chun Wang
?
PPT
trace code tool 以及人月神話
Yi-Hsiang Huang
?
PDF
Git 簡介(古時候的簡報備份)
Hsin-lin Cheng
?
Intro to svn
Yingshiuan Pan
?
Git & Sourcetree 介紹
Adison wu
?
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Alan Tsai
?
電子內容管理 使用Git 與 github 1
Alan Tsai
?
Introduction to Version Control System for Windows
Peter Chang
?
工程師必備第一工具 - Git
Alan Tsai
?
2010 07-29-version control use git
Kang-Min Wang
?
版本控制
Wen-Hsien SU
?
闯补尘别蝉-版本控制
Study4TW
?
Git in a nutshell
Nelson Tai
?
Introduction to git
Bo-Yi Wu
?
幸福快乐的完美结局
Anna Su
?
2010 07-19-introduction version control system
Kang-Min Wang
?
寫給大家的 Git 教學
littlebtc
?
版本控制 - Mercurial
Cheyin L
?
Git basis - usage
Eason Cao
?
微型團隊的 web 程式開發流程
Chang Mt
?
如何與 Git 優雅地在樹上唱歌
Mu Chun Wang
?
trace code tool 以及人月神話
Yi-Hsiang Huang
?
Git 簡介(古時候的簡報備份)
Hsin-lin Cheng
?
Ad

More from Wen-Shih Chao (6)

PDF
Write unit test from scratch
Wen-Shih Chao
?
PDF
Programming with effects - Graham Hutton
Wen-Shih Chao
?
PDF
近未來三人女子電音偶像團體 Perfume
Wen-Shih Chao
?
PDF
Matrix Chain Scheduling Algorithm
Wen-Shih Chao
?
PDF
Java Technicalities
Wen-Shih Chao
?
PDF
淺談排版系統 Typesetting System
Wen-Shih Chao
?
Write unit test from scratch
Wen-Shih Chao
?
Programming with effects - Graham Hutton
Wen-Shih Chao
?
近未來三人女子電音偶像團體 Perfume
Wen-Shih Chao
?
Matrix Chain Scheduling Algorithm
Wen-Shih Chao
?
Java Technicalities
Wen-Shih Chao
?
淺談排版系統 Typesetting System
Wen-Shih Chao
?

漫談 Source Control Management

  • 1. . . . . . . . . . .. . . 淺談 Source Control Management yen3 長庚大學資訊工程學系 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 1 / 23
  • 2. . . . . . . About .. About 狠狠撸 專題程式開發簡報,陸續有其他介紹 感謝李春良老師專題指導,使得這一系列簡報得己誕生 感謝 Josh Ko 在簡報排版上的指導與協助 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 2 / 23
  • 3. . . . . . . About .. About Author Computer Science Student Blog: No title, no thinking, no meaning E-mail: yen3rc 在 gmail 答康 隨手書寫生活 C, C++, Java, Haskell, LATEX yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 3 / 23
  • 4. . . . . . . Outline . ..1 About . ..2 Introduction What? Why? . ..3 Source Control Management Environment Concept branch Software . ..4 Software git Google Code with svn Visual Studio.net With svn . ..5 Conclusion Conclusion Reference yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 4 / 23
  • 5. . . . . . . Introduction What? .. What is Source Control Management? Source Control Management(SCM) 為 Open Source 界常見的專案開發工具. 針對 plain text ,比較與先前的檔案差異, 儲存修改之處。 若是架在 Server 上,支援多人上傳協同開發。 常見軟體有 svn, git, ...等等。 在常見的 Software IDE(Eclipse, NetBeans, vim XD, VS.net) 皆有 plug-in 支援 Visual Studio.net Team Suite 內建版本控制(不建議) yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 5 / 23
  • 6. . . . . . . Introduction Why? .. Why do we need Source Control Management? 當寫程式需要備份時· · · 當需要協同專案開發時· · · 寫文件需要比較前後版本時· · · 當需要寫情書時(大誤)· · · yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 6 / 23
  • 7. . . . . . . Introduction Why? .. How about Binary File? 硬碟夠大的話· · · Word(.doc) → binary ?le ( 考慮 LATEX系列 XD?) 程式碼 → plain text (LATEX檔也是 plain text 喔 XD) 寫情書的話 → 記事本 + 版本管理 XD yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 7 / 23
  • 8. . . . . . . Source Control Management Environment .. Environment Client-Server Architecture(client and server can be in the same computer.) Main Concept: di?, line-by-line comparing It would add something ?le with SCM in your ?le of managing. For project development, you could need a server(with ip) to upload your ?le. For personal development, you could use only one computer to ?nish anything what you want. yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 8 / 23
  • 9. . . . . . . Source Control Management Environment .. di?: comparing two ?les 01.cpp #include <iostream> #include <algorithm> #include <vector> #include <cstdlib> #include <iterator> template<class RAI> void bubble_sort(RAI begin, RAI end){ for(RAI i=begin; i!=end; ++i){ for(RAI j=i+1; j!=end; ++j){ if(*i>*j) std::swap(*i, *j); } } } int main(int argc, char** argv){ std::vector<int> u(10, 0); std::generate(u.begin(), u.end(), rand); bubble_sort(u.begin(), u.end()); std::copy(u.begin(), u.end(), std::ostream_iterator<int> (std::cout, "n")); } 02.cpp #include <iostream> #include <algorithm> #include <vector> #include <cstdlib> #include <iterator> int main(int argc, char** argv){ std::vector<int> u(10, 0); std::generate(u.begin(), u.end(), rand); std::sort(u.begin(), u.end()); std::copy(u.begin(), u.end(), std::ostream_iterator<int> (std::cout, "n")); } yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 9 / 23
  • 10. . . . . . . Source Control Management Environment .. java.util.List<E> . For Example: java.util.list < E > .. . . .. . . Macinotosh-3:bubble yen3$ diff 01.cpp 02.cpp 7,15d6 < template<class RAI> < void bubble_sort(RAI begin, RAI end){ < for(RAI i=begin; i!=end; ++i){ < for(RAI j=i+1; j!=end; ++j){ < if(*i>*j) std::swap(*i, *j); < } < } < } < 19c10 < bubble_sort(u.begin(), u.end()); --- > std::sort(u.begin(), u.end()); yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 10 / 23
  • 11. . . . . . . Source Control Management Concept .. Noun Explanation 1 Repository: 管理的 project ,有可能是一個檔案到 一個或數個資料夾 Pull/Push/Checkout: 下載 Branch: 上傳時,建立新的分支版本 Merge: 把不同的分支版本合併成 Master version Con?ict: 版本衝突 Commit: 上傳 Revert: 復原為先前的版本 1 我愛git, jserv yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 11 / 23
  • 12. . . . . . . Source Control Management Concept .. Requirement 2 軟體中設定自己的名字與 email,方便辨別,以負責 你的上傳 送交 (commit) 的程式碼必須是完整、可以執行、 沒有錯誤的程式碼。 送交程式碼時,請於備註欄位註明:更動過的檔案、 檔案做了哪些修改等細節。 在修改程式前,務必將程式更新 (update) 至最新 版本。 送交程式時若發生「衝突」,請解決衝突後再送交。 2 Zeroplex生活隨筆-SVN rules, Zeroplex yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 12 / 23
  • 13. . . . . . . Source Control Management branch .. branch 衝突和分支不同 協同開發時所產生的情境 多人同時開發於同一檔案時,或者是目前已經足夠 穩定,想要開發新版時 若是新的分支足夠穩定,即可與 master branch 合併 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 13 / 23
  • 14. . . . . . . Source Control Management Software .. Which Software is Source Control Management? cvs: 對不起,我沒用過 XD svn: 最常見的 SCM git: 後起之秀,改善 svn 許多缺點 darcs: Haskell寫成的 SCM(比 git 還輕巧...Orz) by yourself: 好主意! plug-in:大多以 svn 為主,請自行 Google XD yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 14 / 23
  • 15. . . . . . . Software git .. git 由 Linus Torvald 在2005年後發展,流行於許多 大型專案管理。 以速度快佔用體積小聞名。 IDE 較少 plug-in 簡報: Jserv’s Blog: 我愛git 教學: 國網中心blog: git原始碼管理 Server建置: walkingice’s blog: [Geek] Git and Gitweb Eclipse with Git Plug-in: yen3’s blog: Intstall git plug-in in Eclipse yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 15 / 23
  • 16. . . . . . . Software git .. Screenshot 現場實際操作 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 16 / 23
  • 17. . . . . . . Software Google Code with svn .. Google Code wtih svn 現成的 svn server 若無授權限制 (GPL, BSD · · · )及程式碼公開問題, Google Code 是一選擇 每個 Repository 大小限制 100mb 教學: ericsk’s blog : 用 Subversion 跟 Google Code 作版本控制(一) 教學: ericsk’s blog : 用 Subversion 跟 Google Code 作版本控制(二) yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 17 / 23
  • 18. . . . . . . Software Google Code with svn .. Screenshot 現場實際操作 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 18 / 23
  • 19. . . . . . . Software Visual Studio.net With svn .. Visual Studio.net With svn Client: Visual Studio.net with AnhkSVN(expression edition 無法使用) Server 可選擇架在 Google Code(現成 svn server) Server: IIS + VisualSVN or Apache + VisualSVN (Windows Enviornment) 簡單教學: yen3’s blog: Visual Studio + svn 並不是一個很穩定的解決方案,或許可以 考慮 Team Suite Solution(我沒用過XD) yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 19 / 23
  • 20. . . . . . . Software Visual Studio.net With svn .. Screenshot 現場實際操作 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 20 / 23
  • 21. . . . . . . Software Visual Studio.net With svn .. Using Experience 選一個最適合自己環境的 SCM 請一定要傳能動的程式上上去· · · 上傳一定要記得寫註解,不寫· · · 如果分工足夠精確,分別撰寫不同檔案,發生衝突 問題機會較小。 在 Open Source 界, SCM rules 需被嚴格遵守。 SCM也可視為一種程式碼備份方法 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 21 / 23
  • 22. . . . . . . Conclusion Conclusion .. Conclusion 在專案開發下,可省下許多合併程式碼的時間。 工具只是輔助開發程式,而核心仍是程式設計。 這是只是專題程式開發學習的第一步。 多看 Open Source 界在做什麼,會學到很多有趣 的事。 防止程式碼洗掉的好選擇XD。 yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 22 / 23
  • 23. . . . . . . Conclusion Reference .. Reference svn: http://subversion.tigris.org/ git: http://git-scm.com/ darcs: http://darcs.net/ Google Code: http://code.google.com AnhkSVN: http://ankhsvn.open.collab.net/ yen3 (長庚大學資訊工程學系) 淺談 Source Control Management 23 / 23