Tôi có thể sử dụng gitlab để theo dõi các repos hiện có, giữ các url git cũ không?


2

Tôi đã cài đặt Gitlab trên máy chủ của mình và tôi không biết liệu những gì tôi sẵn sàng làm là có thể.

Tôi muốn đặt Gitlab để theo dõi repos của mình, với tất cả các tính năng đi kèm, nhưng tôi không muốn sử dụng url gitlab, vì tôi không muốn buộc cổ như vậy cho tất cả các nhà phát triển sử dụng repos.

Tính năng "Nhập" của Gitlab dường như tạo ra các url của riêng nó, vì vậy đó sẽ không phải là thứ tôi đang tìm kiếm.

Câu hỏi của tôi là: Có cách nào để sử dụng gitlab với các url git cũ không?

Câu trả lời:


1

Câu trả lời ngắn gọn của tôi là "Không".

Đây không phải là một vấn đề như vậy để thay đổi hoặc thêm một điều khiển từ xa mới vào một kho lưu trữ hiện có. Đơn giản chỉ cần làm git remote add gitlab git@<server>/owner/repository_link.git(hoặc bất cứ điều gì liên kết sẽ có) trong dự án và bạn đã hoàn thành. Nếu bạn muốn thay thế điều khiển từ xa "gốc", bạn có thể xem phải làm gì ngay cả trong .gitthư mục của mình . Vì vậy, tôi sẽ không quá quan tâm đến URL mới, chỉ cần ghi lại những gì cần thực hiện và thông báo cho họ biết bạn đã di chuyển.


1

Thật không may, gitlab dựa vào lược đồ url của nó để có được quyền của nhóm / người dùng trên mỗi repo.

Cách duy nhất tôi có thể hình ảnh là người ta có thể sử dụng các quy tắc viết lại tùy chỉnh trong máy chủ web frontend. Các quy tắc này sau đó sẽ viết lại tất cả các yêu cầu một cách thích hợp vào lược đồ đặt tên gitlab. Tất nhiên, điều này sẽ yêu cầu các nhà phát triển của bạn chỉ sử dụng http (s) để truy cập các repos. Cách tiếp cận này sẽ không phá vỡ mã của bạn từ cơ sở mã ngược dòng.

Tuy nhiên, nếu bạn cũng đang sử dụng ssh: // (được khuyến nghị bởi git), cách duy nhất tôi thấy là bạn viết lại đường dẫn trong gitlab-shell: Lớp GitlabShellcó phương thức parse_cmd này

def parse_cmd
  args = Shellwords.shellwords(@origin_cmd)
  @git_cmd = args[0]
  @repo_name = escape_path(args[1])
end

trong đó bạn có thể nghịch ngợm với @repo_name. Cách tiếp cận này sẽ phá vỡ mã của bạn từ cơ sở mã ngược dòng.

Tôi xin lỗi nhưng vì bạn đã không chỉ định bất kỳ đường dẫn repo nào, thật khó để tạo ra một ví dụ cụ thể hơn.

Cá nhân tôi sẽ đi với việc di chuyển để nhập các repos và xuất bản các url mới. Nếu bạn có thể cung cấp một danh sách git remote set-url origin ssh://git@gitlab.acme.com/newgroup/imported.gitcho các đồng nghiệp của bạn sẽ giảm thiểu công việc về phía họ, tôi đoán.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.