Git: Chuẩn bị

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Chuẩn bị di cư

Bước đầu tiên để di chuyển một dự án từ SVN sang kiểm soát phiên bản dựa trên Git là chuẩn bị máy cục bộ của người di chuyển. Trong giai đoạn này, bạn sẽ tải xuống tập lệnh tiện ích thuận tiện, gắn hệ thống tệp phân biệt chữ hoa chữ thường (nếu cần) và ánh xạ thông tin tác giả từ SVN sang Git.

Tất cả các bước sau đây phải được thực hiện trên máy cục bộ của người di chuyển.

Tải xuống tập lệnh di chuyển

Git đi kèm với hầu hết các công cụ cần thiết để nhập kho SVN; tuy nhiên, có một vài phần chức năng bị thiếu mà Atlassian đã đưa vào một tệp JAR tiện dụng. Tệp này sẽ không thể thiếu đối với việc di chuyển, vì vậy hãy chắc chắn tải xuống svn-migration-scripts.jartừ tài khoản Bitbucket của Atlassian. Hướng dẫn này giả định rằng bạn đã lưu nó trong thư mục nhà của bạn. Tuyên bố miễn trừ trách nhiệm: đối với việc di chuyển svn, bạn cần một hệ thống tệp phân biệt chữ hoa chữ thường và điều này không hoạt động trên NTFS. Chúng tôi khuyên bạn nên sử dụng điều này trên máy Linux. 

Sau khi bạn đã tải xuống, bạn nên xác minh các tập lệnh để đảm bảo rằng bạn đã cài đặt tiện ích Java Runtime Môi trường , Git , Subversion và tiện ích git-svn . Mở một dấu nhắc lệnh và chạy như sau:

java -jar ~/svn-migration-scripts.jar verify

Điều này sẽ hiển thị thông báo lỗi trong bảng điều khiển nếu bạn không có các chương trình cần thiết cho quá trình di chuyển. Đảm bảo rằng mọi phần mềm bị thiếu đã được cài đặt trước khi tiếp tục.

Nếu bạn nhận được cảnh báo về việc không thể xác định phiên bản, hãy chạy export LANG=C(* nix) hoặc SET LANG=C(Windows) và thử lại.

Nếu bạn đang thực hiện di chuyển trên máy tính chạy OS X, bạn cũng sẽ thấy cảnh báo sau:

You appear to be running on a case-insensitive file-system. This is unsupported, and can result in data loss.

Chúng tôi sẽ giải quyết điều này trong phần tiếp theo.

Gắn hình ảnh đĩa nhạy

Việc di chuyển sang Git nên được thực hiện trên hệ thống tệp phân biệt chữ hoa chữ thường để tránh làm hỏng kho lưu trữ. Đây là một vấn đề nếu bạn đang thực hiện di chuyển trên máy tính OS X, vì hệ thống tệp OS X không phân biệt chữ hoa chữ thường.

Nếu bạn không chạy OS X, tất cả những gì bạn cần làm là tạo một thư mục trên máy cục bộ của bạn được gọi ~/GitMigration. Đây là nơi bạn sẽ thực hiện chuyển đổi. Sau đó, bạn có thể bỏ qua phần tiếp theo.

Di chuyển Git: gắn hình ảnh đĩa

Nếu bạn đang chạy OS X, bạn cần gắn hình ảnh đĩa phân biệt create-disk-imagechữ hoa chữ thường với tập lệnh đi kèm svn-migration-scripts.jar. Phải mất hai tham số:

  1. Kích thước của hình ảnh đĩa để tạo ra trong gigabyte. Bạn có thể sử dụng bất kỳ kích thước nào bạn thích, miễn là nó lớn hơn kho SVN mà bạn đang cố gắng di chuyển.
  2. Tên của hình ảnh đĩa. Hướng dẫn này sử dụng GitMigrationcho giá trị này.

Ví dụ: lệnh sau tạo hình ảnh đĩa 5 GB được gọi là GitMigration:

java -jar ~/svn-migration-scripts.jar create-disk-image 5 GitMigration

Hình ảnh đĩa được gắn trong thư mục chính của bạn, vì vậy bây giờ bạn sẽ thấy một thư mục được gọi ~/GitMigrationtrên máy cục bộ của bạn. Điều này phục vụ như một hệ thống tệp phân biệt chữ hoa chữ thường và là nơi bạn sẽ lưu trữ kho Git đã chuyển đổi.

Trích xuất thông tin tác giả

SVN chỉ ghi lại tên người dùng của tác giả cho mỗi lần sửa đổi. Git, tuy nhiên, lưu trữ tên đầy đủ và địa chỉ email của tác giả. Điều này có nghĩa là bạn cần tạo một tệp văn bản ánh xạ tên người dùng SVN tới các đối tác Git của họ.

Di chuyển Git: Ánh xạ tên người dùng SVN sang tên người dùng Git

Chạy các lệnh sau để tự động tạo tệp văn bản này:

cd ~/GitMigration
java -jar ~/svn-migration-scripts.jar authors <svn-repo> > authors.txt

Hãy chắc chắn thay thế <svn-repo>bằng URI của kho SVN mà bạn muốn di chuyển. Ví dụ: nếu kho lưu trữ của bạn cư trú tại https://svn.example.com, bạn sẽ chạy như sau:

java -jar ~/svn-migration-scripts.jar authors https://svn.example.com > authors.txt

Điều này tạo ra một tệp văn bản được gọi authors.txtcó chứa tên người dùng của mọi tác giả trong kho SVN cùng với tên và địa chỉ email được tạo. Nó sẽ trông giống như thế này:

j.doe = j.doe <j.doe@mycompany.com>
m.smith = m.smith <m.smith@mycompany.com>

Thay đổi phần bên phải của dấu bằng với tên đầy đủ và địa chỉ email của người dùng tương ứng. Ví dụ: bạn có thể thay đổi các tác giả trên thành:

j.doe = John Doe <john.doe@atlassian.com>
m.smith = Mary Smith <mary.smith@atlassian.com>

Tóm lược

Bây giờ bạn đã có tập lệnh di chuyển, hình ảnh đĩa (chỉ dành cho OS X) và thông tin tác giả, bạn đã sẵn sàng nhập lịch sử SVN của mình vào kho lưu trữ Git mới. Giai đoạn tiếp theo giải thích cách chuyển đổi này hoạt động.

» Tiếp: Chuyển đổi
« Trước: Tiến hành chuyển từ SVN sang Git
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!