SlideShare a Scribd company logo
Quản Lý Dự Án Phần Mềm 
Đề tài 4 
Nghiên cứu quản lý mã nguồn 
phần mềm với SubVersion 
Giảng viên hướng dẫn : Thầy Bùi Minh Cường - Bộ môn CNPM 
Nhóm : Lương Bá Hợp MSSV 1105068 
: Bùi Thị Xuyên MSSV 1114928 
Lớp : Hệ Thống Thông Tin K52 
1
Mục Lục 
Tìm hiểu chung 
1. Subversion là gì ? 
2. Subversion làm được gì ? 
3. So sánh subversion và các tool khác 
4. Cài đặt subversion cho client 
5. Tổng quát chức năng subversion 
6. Một số action quan trọng trong SVN 
Demo 
1. Ý tưởng dự án 
2. Khởi tạo subversion trên google Code 
3. Thao tác của client với subversion 
2
Tìm hiểu chung 
3
1 Subversion là gì ? 
 Hệ thống SubVersion (SVN) là một hệ thống quản lý phần 
tài nguyên (code , hình ảnh , video…) của một dự án. 
 Hệ thống có khả năng cập nhật, so sánh và kết hợp tài 
nguyên mới vào phần tài nguyên cũ , được giới thiệu 
vào năm 2000 bởi công ty CollabNet 
 Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. 
4
1 Subversion là gì ? 
 SVN hoạt động theo phương thức Client/Server, code 
project sẽ được lưu trữ trên server (SVN hosting , 
GoogleCode,…) 
 Các client có thể thao tác, edit trực tiếp trên đó, mọi thay 
đổi của từng client sẽ được lưu lại. 
 Do đó SVN là một giải pháp làm việc nhóm từ xa hiệu 
quả, an toàn 
5
2 Subversion làm được gì ? 
 Khi một nhóm làm việc trên cùng một Project, việc nhiều 
người cùng chỉnh sửa nội dung của một file là điều 
không thể tránh khỏi. 
 SVN cung cấp các chức năng để có thể thực hiện việc 
này một cách đơn giản và an toàn. 
6
2 Subversion làm được gì ? 
Subversion được thiết kế với mục đích thay thế 
hệ thống quản lý phiên bản Concurrent 
Versioning System (CVS) đã cũ và có nhiều 
nhược điểm. 
Subversion có thể được sử dụng để quản lý bất 
cứ hệ thống phiên bản nào. 
7
2 Subversion làm được gì ? 
Subversion là hệ thống quản lý Source Code 
tập trung (Centralized). 
Subversion là hệ thống quản lý phiên bản 
mạnh mẽ, hữu dụng, và linh hoạt. 
8
2 Subversion làm được gì ? 
Subversion quản lý tập tin và thư mục theo 
thời gian. 
SVN giống như một hệ thống file server mà 
các Client có thể Download và Upload file 
một cách bình thường. 
9
2 Subversion làm được gì ? 
 Điểm đặc biệt của SVN là nó lưu lại tất cả những gì 
thay đổi trên hệ thống file: file nào đã bị thay đổi lúc 
nào, thay đổi như thế nào, và ai đã thay đổi nó. 
 SVN cũng cho phép recover lại những version cũ một 
cách chính xác. 
 Các chức năng này giúp cho việc làm việc nhóm trở 
nên hiệu quả và an toàn hơn rất nhiều. 
10
2 Subversion làm được gì ? 
Thông thường, client và server kết nối thông 
qua mạng LAN hoặc Internet. 
Client và server có thể cùng chạy trên một máy 
nếu SVN có nhiệm vụ theo vết lịch sử của dự 
án do các nhà phát triển phần mềm phát triển 
trong nội bộ. 
11
2 Subversion làm được gì ? 
Subversion hỗ trợ khá nhiều giao thức để kết 
nối giữa client và server. 
Việc cho phép server hỗ trợ giao thức nào phụ 
thuộc vào lúc cấu hình. 
12
2 Subversion làm được gì ? 
Ví dụ bạn có thể dùng các giao thức của ứng 
dụng web như : 
• Http:// hoặc https:// 
• Các giao thức của svn như svn:// hoặc svn+ssh:// 
• Hoặc nếu phần mềm client và server cài chung trên 
1 máy thì có thể dùng file://. 
13
3 So sánh Subversion và các tool khác 
14 
Subversion CVS Git 
Là hệ thống quản lý source 
code tập trung 
(Centralized) 
Quản lý source code tập 
trung (Centralized). 
Là một phương pháp quản 
lý phiên bản theo hướng 
phân tán (Distributed). 
Các commit có thể được 
roll-back lại trạng thái 
trước đó. 
Không thể roll-back. Các commit có thể được 
roll-back lại trạng thái 
trước đó. 
Các tập tin được đổi tên 
hoặc loại bỏ vẫn mang 
theo đầy đủ history và 
meta-data của nó trước đó 
Tập tin bị đổi tên hoặc di 
chuyển sẽ bị mất history 
trước đó 
Commit hoặc update trực 
tiếp từ máy của họ mà 
không phải thông qua 
repository gốc trên server 
và mang theo cả history 
Có khả năng đẩy bất cứ 
những thay đổi mới đến 
Repository cha. 
Chỉ có thể đẩy những thay 
đổi mới lên Repository 
con của nó. 
Tất cả thao tác làm việc 
với Git đều ở trên máy của 
local, local repository. Có 
thể những thay đổi push
3 So sánh Subversion và các tool khác 
15 
sử dụng SSH, ngoài ra 
còn bổ sung WebDAV 
DeltaV, giao thức này 
được dựa trên HTTP và 
HTTPS cung cấp cho 
người dùng một tùy chọn 
để kết nối với các SVN 
qua web. 
Sử dụng giao thức SSH để 
truyền tải. 
Sử dụng SSH để truyền 
tải. (SSH là 1 giao thức 
mạng ) 
Làm việc trong mạng 
LAN hay Internet. 
Làm việc trong mạng 
LAN hay Internet. 
Làm việc trong mạng 
LAN hay Internet. 
Nếu server down thì các 
thành viên khác không thể 
update thay đổi từ server - 
> khả năng làm việc 
offline không cao. 
Nếu server down thì các 
thành viên khác không thể 
update thay đổi từ server - 
> khả năng làm việc 
offline không cao. 
Có khả năng làm việc 
offline(server down),vì 
mỗi bản copy của thành 
viên đều là full copy từ 
repository gốc trên máy 
thành viên (update trực 
tiếp không cần server). 
Thao tách trên GUI hay 
Thao tác trên GUI Thao tác trên GUI hay
4 Cài đặt SVN cho Client 
 Download tại trang http://tortoisesvn.joydownload.com/ 
16
4 Cài đặt SVN cho Client 
 Double click vào file để cài -> Next 
17
4 Cài đặt SVN cho Client 
 Chọn như trong hình -> Click Next 
18
4 Cài đặt SVN cho Client 
 Chọn vị trí cài đặt -> Next 
19
4 Cài đặt SVN cho Client 
 Click Install để cài đặt 
20
4 Cài đặt SVN cho Client 
 Quá trình cài đang thực hiện 
21
4 Cài đặt SVN cho Client 
 Cài đặt hoàn thành -> Finish 
22
5 Một số khái niệm chính trong SVN 
 Reposiroty: server chứa SVN và đặt Project 
 HEAD: phiên bản mới nhất trên server 
 Master: thông thường khi tạo SVN, có một branch chính 
được tạo ra và gọi là master, các branch phụ thường 
được đặt theo tên feature mà branch đó được tạo. Với 
hình trên, đường nối các ô màu xanh lá thể hiện master, 
các đường nối ô màu vàng thể hiện branch được tạo ra 
23
5 Một số khái niệm chính trong SVN 
 Change: mô tả sự thay đổi cụ thể của 1 revision so 
với revision trước đó 
 Working copy: bản copy của toàn bộ SVN tại máy của 
developer 
 Conflict: xung đột xảy ra khi có nhiều developer cùng 
làm việc với 1 working copy 
VD : A và B cùng checkout revision 40 của file 
24
5 Một số khái niệm chính trong SVN 
 Config.js Sau đó A sửa function update() rồi commit lên 
revision 41, lúc này B cũng sửa function đó, khi B 
checkout về sẽ xảy ra conflict do SVN không biết được 
phiên bản của A hay B mới là latest 
 Resolve: Lúc này, B sẽ xem xét lại code trong function, 
giữ lại đoạn code của A hoặc sửa nó, đánh 
dấu Conflict đã được Resolve 
25
6 Một số action quan trọng trong SVN 
• Checkout: là khái niệm dùng để chỉ một thành 
viên của dự án ở client sẽ lấy một phiên bản 
copy của các file thuộc project trên server về 
máy cục bộ. 
26
6 Một số action quan trọng trong SVN 
• Commit: thành viên của dự án đưa các thay 
đổi trên các file của project tại máy client lên 
server. 
27
6 Một số action quan trọng trong SVN 
• Update: khi một thành viên muốn cập nhật 
những thay đổi của các file thuộc thành viên 
khác trên Repository về máy cục bộ của mình. 
28
6 Một số action quan trọng trong SVN 
• Merge: nhiều thành viên cùng tiến hành cập 
nhật trên một tập tin. 
29
6 Một số action quan trọng trong SVN 
 Revert: sau khi tiến hành thay đổi, developer cảm thấy họ 
đã sai và muốn xóa đi làm lại từ đầu, việc revert là hành 
động để khôi phục trạng thái của 1 hay nhiều document 
về 1 revision nào đó, thường thì 
sẽ revert về revision hiện tại mà user đang làm việc 
30
Demo 
31

More Related Content

What's hot

Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Tú Cao
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
nataliej4
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pmNguyen Tran
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mở
Thuyet Nguyen
 
CMS dotnetnuke
CMS dotnetnukeCMS dotnetnuke
CMS dotnetnuke
Trung Thành Nguyễn
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOTĐề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
caolanphuong
 
Báo Cáo Quản Lý Dự Án Mẫu
Báo Cáo Quản Lý Dự Án MẫuBáo Cáo Quản Lý Dự Án Mẫu
Báo Cáo Quản Lý Dự Án Mẫu
Hiệp Nguyễn
 
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạngphân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
hieu anh
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Nguyễn Danh Thanh
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềm
Trần Gia Bảo
 
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtTài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Ly hai
 
Tieu Luan - Mang may tinh voi Packet tracer
Tieu Luan - Mang may tinh voi Packet tracerTieu Luan - Mang may tinh voi Packet tracer
Tieu Luan - Mang may tinh voi Packet tracer
Duc Nguyen
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệp
Toan Pham
 
Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1laducqb
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị androidXây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
Trần Võ Khôi Nguyên
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
Thùy Linh
 

What's hot (20)

Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pm
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mở
 
CMS dotnetnuke
CMS dotnetnukeCMS dotnetnuke
CMS dotnetnuke
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOTĐề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
 
Báo Cáo Quản Lý Dự Án Mẫu
Báo Cáo Quản Lý Dự Án MẫuBáo Cáo Quản Lý Dự Án Mẫu
Báo Cáo Quản Lý Dự Án Mẫu
 
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạngphân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
phân tích và thiết kế quản lý website bán hàng thiết bị máy tính qua mạng
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềm
 
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtTài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
 
Tieu Luan - Mang may tinh voi Packet tracer
Tieu Luan - Mang may tinh voi Packet tracerTieu Luan - Mang may tinh voi Packet tracer
Tieu Luan - Mang may tinh voi Packet tracer
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệp
 
Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị androidXây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
Xây dựng ứng dụng hỗ trợ học tiếng anh trên thiết bị android
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 

Similar to Quản lý dự án phần mềm bằng SVN

Huong dan su dung svn server (SVN subversion - SVN Hosting)
Huong dan su dung svn server (SVN subversion - SVN Hosting)Huong dan su dung svn server (SVN subversion - SVN Hosting)
Huong dan su dung svn server (SVN subversion - SVN Hosting)
Văn Nguyễn Trung
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnKhong Van Nhat
 
Subversion Seminar [2010]
Subversion Seminar [2010]Subversion Seminar [2010]
Subversion Seminar [2010]
Luân Võ Thành
 
Huong dan su_dung_subversion
Huong dan su_dung_subversionHuong dan su_dung_subversion
Huong dan su_dung_subversionKhicon Vodanh
 
Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Dũng Đinh
 
Netbeans_Subversion
Netbeans_SubversionNetbeans_Subversion
Netbeans_SubversionNguyen Linh
 
Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Dũng Đinh
 
Tortoise svn huong dan
Tortoise svn   huong danTortoise svn   huong dan
Tortoise svn huong danwhitehorse4IT
 
Linux+03
Linux+03Linux+03
Linux+03
Duong Hieu
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostinglaonap166
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autoweb
vinades
 
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Levis Nickaster
 
Hướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, githubHướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, github
nukeviet
 
Bang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIITBang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIIT
NIIT - ICT Hà Nội
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
laonap166
 
Bao cao tuan 123
Bao cao tuan 123Bao cao tuan 123
Bao cao tuan 123vu1008
 
Slide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳSlide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳLy ND
 
Guilde GIT.pptx
Guilde GIT.pptxGuilde GIT.pptx
Guilde GIT.pptx
ssuser0b8037
 

Similar to Quản lý dự án phần mềm bằng SVN (20)

Huong dan su dung svn server (SVN subversion - SVN Hosting)
Huong dan su dung svn server (SVN subversion - SVN Hosting)Huong dan su dung svn server (SVN subversion - SVN Hosting)
Huong dan su dung svn server (SVN subversion - SVN Hosting)
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvn
 
Subversion Seminar [2010]
Subversion Seminar [2010]Subversion Seminar [2010]
Subversion Seminar [2010]
 
Huong dan su_dung_subversion
Huong dan su_dung_subversionHuong dan su_dung_subversion
Huong dan su_dung_subversion
 
Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2
 
Netbeans_Subversion
Netbeans_SubversionNetbeans_Subversion
Netbeans_Subversion
 
Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1
 
Clear case
Clear caseClear case
Clear case
 
Tortoise svn huong dan
Tortoise svn   huong danTortoise svn   huong dan
Tortoise svn huong dan
 
Linux+03
Linux+03Linux+03
Linux+03
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hosting
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autoweb
 
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
 
Hướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, githubHướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, github
 
Bang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIITBang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIIT
 
Bien dich nhan linux
Bien dich nhan linuxBien dich nhan linux
Bien dich nhan linux
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
 
Bao cao tuan 123
Bao cao tuan 123Bao cao tuan 123
Bao cao tuan 123
 
Slide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳSlide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối Kỳ
 
Guilde GIT.pptx
Guilde GIT.pptxGuilde GIT.pptx
Guilde GIT.pptx
 

More from Lương Bá Hợp

Tìm hiểu Wordpress shortcode
Tìm hiểu Wordpress  shortcodeTìm hiểu Wordpress  shortcode
Tìm hiểu Wordpress shortcode
Lương Bá Hợp
 
Tìm hiểu Wordpress hook
Tìm hiểu Wordpress hookTìm hiểu Wordpress hook
Tìm hiểu Wordpress hook
Lương Bá Hợp
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopLương Bá Hợp
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
Lương Bá Hợp
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
Lương Bá Hợp
 
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Lương Bá Hợp
 
Application PhoneGap with Google Map
Application PhoneGap with Google MapApplication PhoneGap with Google Map
Application PhoneGap with Google Map
Lương Bá Hợp
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)
Lương Bá Hợp
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Lương Bá Hợp
 
Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm) Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm)
Lương Bá Hợp
 
Tấn Công DDOS
Tấn Công DDOSTấn Công DDOS
Tấn Công DDOS
Lương Bá Hợp
 
Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu
Lương Bá Hợp
 
Tìm hiểu về Joomla
Tìm hiểu về Joomla Tìm hiểu về Joomla
Tìm hiểu về Joomla
Lương Bá Hợp
 

More from Lương Bá Hợp (14)

Ngữ âm
Ngữ âmNgữ âm
Ngữ âm
 
Tìm hiểu Wordpress shortcode
Tìm hiểu Wordpress  shortcodeTìm hiểu Wordpress  shortcode
Tìm hiểu Wordpress shortcode
 
Tìm hiểu Wordpress hook
Tìm hiểu Wordpress hookTìm hiểu Wordpress hook
Tìm hiểu Wordpress hook
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshop
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
 
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
 
Application PhoneGap with Google Map
Application PhoneGap with Google MapApplication PhoneGap with Google Map
Application PhoneGap with Google Map
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
 
Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm) Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm)
 
Tấn Công DDOS
Tấn Công DDOSTấn Công DDOS
Tấn Công DDOS
 
Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu
 
Tìm hiểu về Joomla
Tìm hiểu về Joomla Tìm hiểu về Joomla
Tìm hiểu về Joomla
 

Quản lý dự án phần mềm bằng SVN

  • 1. Quản Lý Dự Án Phần Mềm Đề tài 4 Nghiên cứu quản lý mã nguồn phần mềm với SubVersion Giảng viên hướng dẫn : Thầy Bùi Minh Cường - Bộ môn CNPM Nhóm : Lương Bá Hợp MSSV 1105068 : Bùi Thị Xuyên MSSV 1114928 Lớp : Hệ Thống Thông Tin K52 1
  • 2. Mục Lục Tìm hiểu chung 1. Subversion là gì ? 2. Subversion làm được gì ? 3. So sánh subversion và các tool khác 4. Cài đặt subversion cho client 5. Tổng quát chức năng subversion 6. Một số action quan trọng trong SVN Demo 1. Ý tưởng dự án 2. Khởi tạo subversion trên google Code 3. Thao tác của client với subversion 2
  • 4. 1 Subversion là gì ?  Hệ thống SubVersion (SVN) là một hệ thống quản lý phần tài nguyên (code , hình ảnh , video…) của một dự án.  Hệ thống có khả năng cập nhật, so sánh và kết hợp tài nguyên mới vào phần tài nguyên cũ , được giới thiệu vào năm 2000 bởi công ty CollabNet  Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. 4
  • 5. 1 Subversion là gì ?  SVN hoạt động theo phương thức Client/Server, code project sẽ được lưu trữ trên server (SVN hosting , GoogleCode,…)  Các client có thể thao tác, edit trực tiếp trên đó, mọi thay đổi của từng client sẽ được lưu lại.  Do đó SVN là một giải pháp làm việc nhóm từ xa hiệu quả, an toàn 5
  • 6. 2 Subversion làm được gì ?  Khi một nhóm làm việc trên cùng một Project, việc nhiều người cùng chỉnh sửa nội dung của một file là điều không thể tránh khỏi.  SVN cung cấp các chức năng để có thể thực hiện việc này một cách đơn giản và an toàn. 6
  • 7. 2 Subversion làm được gì ? Subversion được thiết kế với mục đích thay thế hệ thống quản lý phiên bản Concurrent Versioning System (CVS) đã cũ và có nhiều nhược điểm. Subversion có thể được sử dụng để quản lý bất cứ hệ thống phiên bản nào. 7
  • 8. 2 Subversion làm được gì ? Subversion là hệ thống quản lý Source Code tập trung (Centralized). Subversion là hệ thống quản lý phiên bản mạnh mẽ, hữu dụng, và linh hoạt. 8
  • 9. 2 Subversion làm được gì ? Subversion quản lý tập tin và thư mục theo thời gian. SVN giống như một hệ thống file server mà các Client có thể Download và Upload file một cách bình thường. 9
  • 10. 2 Subversion làm được gì ?  Điểm đặc biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file: file nào đã bị thay đổi lúc nào, thay đổi như thế nào, và ai đã thay đổi nó.  SVN cũng cho phép recover lại những version cũ một cách chính xác.  Các chức năng này giúp cho việc làm việc nhóm trở nên hiệu quả và an toàn hơn rất nhiều. 10
  • 11. 2 Subversion làm được gì ? Thông thường, client và server kết nối thông qua mạng LAN hoặc Internet. Client và server có thể cùng chạy trên một máy nếu SVN có nhiệm vụ theo vết lịch sử của dự án do các nhà phát triển phần mềm phát triển trong nội bộ. 11
  • 12. 2 Subversion làm được gì ? Subversion hỗ trợ khá nhiều giao thức để kết nối giữa client và server. Việc cho phép server hỗ trợ giao thức nào phụ thuộc vào lúc cấu hình. 12
  • 13. 2 Subversion làm được gì ? Ví dụ bạn có thể dùng các giao thức của ứng dụng web như : • Http:// hoặc https:// • Các giao thức của svn như svn:// hoặc svn+ssh:// • Hoặc nếu phần mềm client và server cài chung trên 1 máy thì có thể dùng file://. 13
  • 14. 3 So sánh Subversion và các tool khác 14 Subversion CVS Git Là hệ thống quản lý source code tập trung (Centralized) Quản lý source code tập trung (Centralized). Là một phương pháp quản lý phiên bản theo hướng phân tán (Distributed). Các commit có thể được roll-back lại trạng thái trước đó. Không thể roll-back. Các commit có thể được roll-back lại trạng thái trước đó. Các tập tin được đổi tên hoặc loại bỏ vẫn mang theo đầy đủ history và meta-data của nó trước đó Tập tin bị đổi tên hoặc di chuyển sẽ bị mất history trước đó Commit hoặc update trực tiếp từ máy của họ mà không phải thông qua repository gốc trên server và mang theo cả history Có khả năng đẩy bất cứ những thay đổi mới đến Repository cha. Chỉ có thể đẩy những thay đổi mới lên Repository con của nó. Tất cả thao tác làm việc với Git đều ở trên máy của local, local repository. Có thể những thay đổi push
  • 15. 3 So sánh Subversion và các tool khác 15 sử dụng SSH, ngoài ra còn bổ sung WebDAV DeltaV, giao thức này được dựa trên HTTP và HTTPS cung cấp cho người dùng một tùy chọn để kết nối với các SVN qua web. Sử dụng giao thức SSH để truyền tải. Sử dụng SSH để truyền tải. (SSH là 1 giao thức mạng ) Làm việc trong mạng LAN hay Internet. Làm việc trong mạng LAN hay Internet. Làm việc trong mạng LAN hay Internet. Nếu server down thì các thành viên khác không thể update thay đổi từ server - > khả năng làm việc offline không cao. Nếu server down thì các thành viên khác không thể update thay đổi từ server - > khả năng làm việc offline không cao. Có khả năng làm việc offline(server down),vì mỗi bản copy của thành viên đều là full copy từ repository gốc trên máy thành viên (update trực tiếp không cần server). Thao tách trên GUI hay Thao tác trên GUI Thao tác trên GUI hay
  • 16. 4 Cài đặt SVN cho Client  Download tại trang http://tortoisesvn.joydownload.com/ 16
  • 17. 4 Cài đặt SVN cho Client  Double click vào file để cài -> Next 17
  • 18. 4 Cài đặt SVN cho Client  Chọn như trong hình -> Click Next 18
  • 19. 4 Cài đặt SVN cho Client  Chọn vị trí cài đặt -> Next 19
  • 20. 4 Cài đặt SVN cho Client  Click Install để cài đặt 20
  • 21. 4 Cài đặt SVN cho Client  Quá trình cài đang thực hiện 21
  • 22. 4 Cài đặt SVN cho Client  Cài đặt hoàn thành -> Finish 22
  • 23. 5 Một số khái niệm chính trong SVN  Reposiroty: server chứa SVN và đặt Project  HEAD: phiên bản mới nhất trên server  Master: thông thường khi tạo SVN, có một branch chính được tạo ra và gọi là master, các branch phụ thường được đặt theo tên feature mà branch đó được tạo. Với hình trên, đường nối các ô màu xanh lá thể hiện master, các đường nối ô màu vàng thể hiện branch được tạo ra 23
  • 24. 5 Một số khái niệm chính trong SVN  Change: mô tả sự thay đổi cụ thể của 1 revision so với revision trước đó  Working copy: bản copy của toàn bộ SVN tại máy của developer  Conflict: xung đột xảy ra khi có nhiều developer cùng làm việc với 1 working copy VD : A và B cùng checkout revision 40 của file 24
  • 25. 5 Một số khái niệm chính trong SVN  Config.js Sau đó A sửa function update() rồi commit lên revision 41, lúc này B cũng sửa function đó, khi B checkout về sẽ xảy ra conflict do SVN không biết được phiên bản của A hay B mới là latest  Resolve: Lúc này, B sẽ xem xét lại code trong function, giữ lại đoạn code của A hoặc sửa nó, đánh dấu Conflict đã được Resolve 25
  • 26. 6 Một số action quan trọng trong SVN • Checkout: là khái niệm dùng để chỉ một thành viên của dự án ở client sẽ lấy một phiên bản copy của các file thuộc project trên server về máy cục bộ. 26
  • 27. 6 Một số action quan trọng trong SVN • Commit: thành viên của dự án đưa các thay đổi trên các file của project tại máy client lên server. 27
  • 28. 6 Một số action quan trọng trong SVN • Update: khi một thành viên muốn cập nhật những thay đổi của các file thuộc thành viên khác trên Repository về máy cục bộ của mình. 28
  • 29. 6 Một số action quan trọng trong SVN • Merge: nhiều thành viên cùng tiến hành cập nhật trên một tập tin. 29
  • 30. 6 Một số action quan trọng trong SVN  Revert: sau khi tiến hành thay đổi, developer cảm thấy họ đã sai và muốn xóa đi làm lại từ đầu, việc revert là hành động để khôi phục trạng thái của 1 hay nhiều document về 1 revision nào đó, thường thì sẽ revert về revision hiện tại mà user đang làm việc 30