100
Nhóm CN08B 1 – Trần Văn Tiến 2 – Hồ Minh Trí 3 – Lê Văn Tình 4 – Trần Anh Tuấn 5 – Phan Nhật Tân TortoiseSVN

TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Embed Size (px)

Citation preview

Page 1: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Nhóm CN08B1 – Trần Văn Tiến2 – Hồ Minh Trí3 – Lê Văn Tình4 – Trần Anh Tuấn5 – Phan Nhật Tân

TortoiseSVN

Page 2: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

TortoiseSVNMục tiêu

Nội dung

- Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN- Hướng bạn thao tác với các chức năng của

TortoiseSVN theo cách đơn giản, nhanh và gọn.

- TortoiseSVN?

- Cài đặt

- Phân quyền

- Repository

- Revision

- Các thao tác phổ biến

- Branch, Tag

- Demo

Page 3: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

TortoiseSVN ?• Phần mềm nguồn mở free phía client cho hệ thống

Quản lý phiên bản• Các tính năng liên quan tới bài học:

– Atomic commits– Central Repository– Thao tác trên Command line & GUI

• Ưu, khuyết điểm– Ưu: ưu điểm của atomic commit, có GUI dễ xài, free– Khuyết: nhiều khi gặp những lỗi sai quá trí tuệ, tính năng

lock không hoạt động ở Google host

Page 4: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Cài đặt

Step 1

Step 2

Page 5: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Cài đặt

Step 3

Page 6: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Cài đặt

Step 4

Step 5

Page 7: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Cài đặt

Step 6

Step 7

Step 8

Page 8: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Phân quyền

Page 9: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Tạo Repository

Import dữ liệu cho Repository

Checkout dữ liệu

Update dữ liệu4

1

2

3

Repository

Repository Browser5

Page 10: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Gồm 3 bước:• Mở Windows Explorer.• Tạo một New Folder và đặt tên cho nó.• Right-Click trên Folder vừa tạo, chọn “TortoiseSVN”

=> “Create respository here”.

Tạo Repository

Page 11: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Tạo Repository

• Cấu trúc thư mục bên trong của Repository

Page 12: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Import dữ liệu cho Repository

• Right-Click trên Folder chứa dữ liệu muốn import, chọn “TortoiseSVN” => “Import”.

Page 13: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Import dữ liệu cho Repository

• Chọn đường dẫn đến Repository => OK

Page 14: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu• Tạo/Chọn Folder muốn chứa dữ liệu được checkout từ

Repository.• Right-Click trên Folder vừa chọn, chọn “SVN Checkout”.

Page 15: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

Page 16: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

Checkout Depth: gồm 4 lựa chọn• Fully recursive• Immediate children, including folders• Only file children• Only this item

Page 17: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

• Fully recursive: Checkout toàn bộ cấu trúc thư mục, các file dữ liệu trên Repository.

Ví dụ:

Repository

trunk(trunk.txt), braches(branch.txt), tags(tag.txt), other.txt

Sau khi Checkout

[.svn], trunk(trunk.txt), braches(branch.txt), tags(tag.txt), other.txt

Page 18: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

• Immediate children, including folders: Chỉ Checkout cấu trúc thư mục và các file bên ngoài.

Ví dụ:

Repository

trunk(trunk.txt), braches(branch.txt), tags(tag.txt), other.txt

Sau khi Checkout

[.svn], trunk(), braches(), tags(), other.txt

Page 19: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

• Only file children: Chỉ Checkout các file bên ngoài.

Ví dụ:

Repository

trunk(trunk.txt), braches(branch.txt), tags(tag.txt), other.txt

Sau khi Checkout

[.svn], other.txt

Page 20: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Checkout dữ liệu

• Only this item: Chỉ checkout được thư mục Repository mà không có cấu trúc hay dữ liệu.

Ví dụ:

Repository

trunk(trunk.txt), braches(branch.txt), tags(tag.txt), other.txt

Sau khi Checkout

[.svn]

Page 21: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu

• Right-Click trên Folder đã được checkout, chọn “SVN Update”.

Page 22: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu

• Lưu ý: Update toàn bộ những cái khác nhau giữa Repository và Folder Update.

Page 23: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu

• Right-Click trên Folder đã được checkout, chọn “TortoiseSVN” => “Check for modifications”.

Page 24: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu• Click chọn Check repository

Page 25: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu

• Right-Click trên file cần update, chọn “Update”

Page 26: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update dữ liệu

• Tùy chỉnh các thông số rồi chọn OK để update

Page 27: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Repository Browser

• Right-Click trên một Folder, chọn “TortoiseSVN” => “Repo-browser”.

Page 28: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Repository Browser• Nếu Right-Click

trên Folder chưa được checkout thì sẽ phải truyền thêm đường dẫn đến Repository.

Page 29: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Click to add title in here

Tổng Quát Về Revion Log Dialog

Click to add title in here

Cách Sử Dụng Revison Log Dialog

Revision

Page 30: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Khái niệm Revision : Cứ mỗi một thay đổi trên thùng chứa sẽ tạo ra 1 revison.

Revision Log Dialog : Là một công cụ để xem được những thay đổi như thế nào và

thao tác với các revision đó trên thùng chứa.

Revision Log Dialog

Page 31: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Click to add title in here

Tổng Quát Về Revion Log Dialog

Click to add title in here

Cách Sử Dụng Revison Log Dialog

Revision

Page 32: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 33: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 34: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Nơi lưu lại thông tin của các revision trong quá trình làm

dự án

Cho biết các hành động như : add,

modify, delete trên các revision

Thông tin chi tiết đã làm gì trên

revision đó

Lưu lại thông tin người đã thực hiện các công việc bên

actions

Ngày thực hiện action tạo ra một revision mới trong

thùng chứa

Page 35: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Một revision đã thay đổi 1 file hay 1 thư mục

Một revision đã thêm 1 file hay thư mục

Một revision đã xóa 1 file hay thư mục

Một revision đã đổi chỗ1 file hay 1 thư mục

Các ký hiện của action

Page 36: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Thông tin trong message

Đường dẫn nơi chứa file đưa lên

thùng chứa

Page 37: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Những tính năng cơ bản của Revision Log Dialog

• Compare With Working Copy

– Dùng để so sánh nội dung của file A trên thùng chứa và nội dung của file A trên máy làm việc.

Page 38: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 39: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

• Diff– Để xem xét sự thay đổi

của một file tài liệu trong dự án qua những lần Commit, ta dùng công cụ Diff.

– Công cụ Diff cho ta những thay đổi giữa 2 Revision.

Page 40: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 41: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 42: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

• Blame– Đôi khi, ta muốn biết dòng

nào đã thay đổi, và ai đã thay đổi dòng nào trong file.

Sử dụng Blame

– Lệnh blame có thể chọn xem xét thay đổi từ đầu hoặc từ một revision cụ thể nào đó.

Page 43: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Page 44: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Commit

Page 45: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Commit thành công và khi có conflict

Người 1

Người 2

Page 46: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Changelist

Page 47: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Undo/Revert & Cleanup

Cleanup Right click >>TortoiseSVN >> Cleanup

Page 48: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

View Difference

Lock file

2

3

4

Conflict and Diff

1 Update Your Working Copy With Changes From Others

Page 49: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Page 50: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Page 51: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Page 52: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

• Nếu muốn update/check out một revision bất kỳ nào đó thì nhấn phải chuột vào vùng trống bất kỳ trong folder đang làm việc rồi chọn TortoiseSVN → Update to Revision... chọn revision nhập user name , pass

Page 53: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Chọn ok , yêu cầu nhập user name, pass: nhập xong ok

Page 54: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Bạn có thể chọn nhiều file/folder rồi chọn update

Page 55: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

 Nếu bạn muốn lấy các thông báo lỗi thì chọn TortoiseSVN → Check for Modifications. Nó sẽ liệt kê các file bị lỗi. Sau đó xóa chúng đi

Page 56: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Update Your Working Copy With Changes From Others

Page 57: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflictCó đôi lúc, bạn sẽ có gặp phải một xung đột khi bạn cập nhật các tập tin từ thùng chứa. Một xung đột xảy ra khi hai hay nhiều developers  đã thay đổi cùng một số dòng của một tập tin.

Page 58: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

Khi mở cái file làm việc bị xung đột ra ( có hình chấm than bên cạnh file ) bạn sẽ thấy nội dung file như sau<<<<. mine : phần chỉnh sửa của bạn= = = = = Phần chỉnh sửa của người khác

Page 59: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

Để giải quyết xung đột, bạn có thể chạy công cụ merge hay trình soạn thảo giúp giải quyết xung dột của tortoise : TortoiseSVN → Edit Conflicts

Page 60: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

TortoiseMerge hiện ra cho thấy các chỗ bị lỗi trong file làm việc của bạn và trên thùng chứa

Page 61: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

Nhấn vào vùng ??? và sửa nội dung sau đó save nó lại

Page 62: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

Page 63: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Resolve conflict

Text in here

Page 64: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Để xem sự khác nhau giữa hai phiên bản , tortoise xây dựng một tool tên là

TortoiseMerge cho phép xem sự khác nhau giữa hai tập tin văn bản

TortoiseSVN cũng có một công cụ có tên  TortoiseIDiff. Tất nhiên, bạn có thể sử

dụng chương trình khác mà bạn yêu thích, nếu bạn muốn

Page 65: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Thay đổi cục bộ : nếu bạn muốn xem những thay đổi mà bạn đã làm trong cái

bản làm việc của mình bạn chỉ việc chọn TortoiseSVN → Diff.

Page 66: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 67: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Sự khác biệt giữa các branch/tag :Nếu bạn muốn xem đã thay đổi những gì trên trunk ( những gì bạn đang làm trên một branch ) hay trên 1 branch đặc biệt. thì trong khi bạn nhấn chuột phải vào 1 file , hãy nhấn phím Shift , sau đó chọn TortoiseSVN → Diff with URL

Page 68: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 69: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 70: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Bạn có thể dùng repository browser : chọn thư mục . Sau đó chuột phải chọn show log, trong show log, chọn 2 revision chuột phải chọn compare revision

Page 71: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 72: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Chọn thư mục , chuộtt phải chọn show log

Page 73: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 74: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Chọn 2 revision, chuột phải , chọn compare revision

Page 75: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 76: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Nếu muốn xem sự khác nhau giữa bản commit cuối với bản đang làm việc hiện tại, ta nhấn chuột phải vào file và chọn TortoiseSVN → Diff with previous version

Page 77: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 78: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Nếu bạn muốn xem sự khác nhau giữa một pbản đặc biệt nào đó với bản đang làm việc, chuột phải vô bất kỳ đâu trong thư mục làm việc, chọn show log , chọ pbản muốn xem , chuột phải chọn compare with working copy

Page 79: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 80: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Sự khác biẹt giữa các file : Chọn 2 file TortoiseSVN → Diff. ( svn diff )Tất cả các thay đổi trong 1 commit : Trong revision log ( TortoiseSVN show log ) , bạn chọn revision muốn xem, chọn Show changes as Unified-Diff

Page 81: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 82: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Difference with blame informationchuột phải vào file bất kỳ muốn xem chọn blame

Page 83: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 84: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Ai đã thay đổi dòng nào ?

Đôi khi ta không chỉ muốn biết dòng nào đã được thay đổi, mà ta còn muốn

biết cả ai đã thay đổi những dòng đặc biệt trong một file. Khi đó ta dùng

lệnh TortoiseSVN Blame

Trong tortoiseBlame, muốn tìm một thông tin nào dó trong blame, chọn

Edit find , khi tìm thấy nó sẽ tô đậm dòng đó, không tìm thấy xuất

hiện thông báo

Page 85: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 86: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Muốn di chuyển đến một dòng nào đó Edit Go To line

Page 87: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 88: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Khi bạn di chuyển chuột vào cột thông tim blame tịa một dòng nào đó thì

dòng đó được đánh dấu. bạn nhấn chuột phải vào dòng đó sẽ có các lựa

chọn : blame previous version, show change, show log

 

Hạn chế chỉ cho phép xem không thể thay đổi, không cho thấy các thay đổi

đã được thực hiện

Page 89: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Page 90: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Viewing Differences

Text in here

Difference between folders

TortoiseSVN không xây dựng công cụ hỗ trợ cho phép xem sự khác biệt giữa

hai folder, tuy nhiên có một vài công cụ khác hỗ trợ cho việc này như :

http://winmerge.org : winmerge : open-source

http://www.perforce.com/perforce/products/merge.html : Perforce Visual

Merge Tool

Page 91: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

LOCK FILE

Text in here

Page 92: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Branches

• Khi phát triển một dự án, đôi khi ta cần phát triển thêm một chức năng mới, nhưng vẫn muốn giữ kết quả hiện có

Ta cần tạo ra nhánh (branch) riêng làm việc bên cạnh nhánh chính (main branch – trunk).

Khi chức năng trong nhánh đã ổn định, ta mới thực hiện merge các thay đổi vào nhánh chính.

Page 93: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Tags

• Tagging là khả năng đánh dấu dự án tại một phiên bản cụ thể

Ta có thể lấy ra phiên bản này tại bất kỳ thời điểm nào về sau.

• Tagging thường được dùng để đánh dấu một release hay một bản build nào đó.

Page 94: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Tạo Branches/Tag

Page 95: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Switch

Page 96: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Merge

• Branch dùng để phát triển dự án theo nhiều hướng khác nhau. Đôi khi, ta sẽ có nhu cầu merge những thay đổi trong branch vào trunk hoặc ngược lại.

• SubVersion cho phép ta thực hiện merge từ một revision trong 1 branch sang 1 revision của branch khác.

• TortoiseSVN->Merge

Page 97: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Merging

Page 98: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Create/Apply Patch

• Một số dự án open source có nhiều người cùng phát triển, nhưng nếu ai cũng có thể commit thì dự án có thể bị đổ vỡ hoàn toàn.

• Patch giúp cho những người phát triển chính(có quyền commit) đọc trước những phần do người khác phát triển, và sau đó commit phần đó lên dự án chính.

• Extension là .patch hoặc .diff• TortoiseSVN->Create Path• TortoiseSVN->Apply Path…

Page 99: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Export

• Đôi lúc ta muốn copy cây làm việc mà không có những thư mục do svn tạo, ví dụ như dùng trong release source hoặc export vào 1 web server nào đó.

• Thay vì copy và xóa những thư mục svn tạo. TortoiseSVN hỗ trợ lệnh Export cho công việc này.

• TortoiseSVN ->Export

Page 100: TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,

Thank You!