Bỏ qua để đến nội dung

Thêm kho mã vào không gian làm việc

Hướng dẫn này chỉ cho bạn cách đăng ký một bản checkout Git vào một không gian làm việc, lập chỉ mục lại nó và gỡ nó đi.

Kho mã được giới hạn theo không gian làm việc. Không có sổ đăng ký toàn cục và không có bước liên kết: thêm một kho mã và đưa nó vào một không gian làm việc là cùng một hành động. Cùng một bản checkout khi được đăng ký trong hai không gian làm việc sẽ trở thành hai hàng độc lập với hai id khác nhau — xuyên suốt các không gian làm việc, danh tính của một kho mã là đường dẫn hệ thống tệp của nó, không bao giờ là id.

Một thư mục chỉ có thể được đăng ký nếu hội đủ cả ba điều kiện sau:

  1. Nó nằm trong một cây làm việc git.
  2. Cây làm việc đó có một remote origin.
  3. Remote origin trỏ tới một máy chủ mã được hỗ trợ: github.com, gitlab.com hoặc bitbucket.org.

Mọi trường hợp khác đều bị từ chối ngay khi đăng ký với một thông báo rõ ràng: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” hoặc “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Không có chế độ chỉ cục bộ.

Máy chủ mã được đọc từ remote và lưu trên kho mã — bạn không bao giờ tự chọn nó. Một không gian làm việc có thể chứa kho mã từ cả ba máy chủ cùng lúc, và mỗi máy chủ được giao tiếp qua API riêng với thông tin xác thực riêng. Các namespace lồng nhau của GitLab được giữ nguyên, nên gitlab.com/group/subgroup/project được đăng ký với owner group/subgroup và tên project.

Thư mục cũng phải nằm trên máy đang chạy cc_server, bên trong một trong các thư mục --repo-roots của máy chủ đó. Danh sách cho phép đó mặc định là thư mục home của người dùng máy chủ, và việc duyệt vượt lên trên một gốc trong danh sách bị từ chối.

  1. Mở Cài đặt → Không gian làm việc → Kho lưu trữ (/workspaces/<id>/settings/workspace/repositories).
  2. Nhấp vào Thêm kho lưu trữ.

Hộp thoại là một trình duyệt có thể điều hướng trên hệ thống tệp của máy chủ, không phải của bạn. Luồng thao tác giống nhau trên máy tính, web và điện thoại, vì trình chọn thư mục của hệ điều hành sẽ chọn một thư mục trên máy sai.

  1. Điều hướng trong các gốc đã cấu hình của máy chủ. Những thư mục là bản checkout git được đánh dấu.
  2. Đánh dấu bao nhiêu thư mục cũng được. Lựa chọn được giữ nguyên khi bạn điều hướng, nên bạn có thể gom các bản checkout từ nhiều thư mục khác nhau.
  3. Đăng ký chúng trong một lô.

Một lựa chọn thất bại không bao giờ làm mất phần còn lại của lô — bạn nhận được các id đã được tạo cùng một lỗi cho mỗi đường dẫn bị từ chối. Đăng ký lại một đường dẫn đã có trong không gian làm việc này sẽ trả về kho mã hiện có thay vì tạo ra một bản trùng lặp.

Mỗi kho mã đã đăng ký xuất hiện trong danh sách với owner/name, một huy hiệu ghi tên máy chủ mã của nó, và đường dẫn của nó trên máy chủ. Kho mã GitHub còn hiển thị avatar của owner; các máy chủ mã khác không có URL avatar owner đoán được, nên chúng quay về dùng chữ cái đầu.

Huy hiệu máy chủ mã có ý nghĩa trong một không gian làm việc hỗn hợp: hai kho mã đều có thể tên là acme/web trên các máy chủ mã khác nhau, và chúng hành xử khác nhau — việc đánh giá có thể làm gì, và một liên kết dẫn tới đâu.

Việc đăng ký phát ra một sự kiện RepoAdded trong phạm vi không gian làm việc này, sự kiện này khởi động quy trình index_code cho bản checkout đó. Đó là thứ nạp dữ liệu cho đồ thị mã, để tìm kiếm và phân tích ảnh hưởng có dữ liệu để trả lời.

Chỉ những tệp có ngôn ngữ với grammar được phát hành mới được lập chỉ mục (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB và Ada). Xem Tìm mã bằng đồ thị mã.

Mỗi hàng có một nút Lập chỉ mục mã. Nhấp vào đó để chạy lại trình lập chỉ mục cho bản checkout đó; trong khi chạy, nút này trở thành một chỉ báo tiến độ hiển thị số tệp đã xong trên tổng số, kèm nút hủy. Khi hoàn tất, nó chuyển thành một dấu kiểm kèm số ký hiệu, hoặc một cảnh báo nếu lần chạy thất bại.

Kéo tay nắm trên một hàng. Thứ tự bạn đặt là thứ tự mà mọi danh sách kho mã trong ứng dụng đọc lại.

Biểu tượng liên kết trên một hàng mở trình chỉnh sửa owner GitHub và tên kho mã của kho đó — hữu ích khi remote bị đổi tên hoặc chuyển đi.

  1. Mở Cài đặt → Không gian làm việc → Kho lưu trữ.
  2. Nhấp vào biểu tượng thùng rác trên hàng đó.
  3. Xác nhận “Gỡ kho lưu trữ khỏi không gian làm việc?”

Hộp thoại nói rõ điều nó làm: “name sẽ bị gỡ khỏi không gian làm việc này. Tệp cục bộ trên đĩa không bị thay đổi.”

Việc gỡ sẽ xóa hàng kho mã khỏi không gian làm việc này và xóa theo tầng các hàng đồ thị mã của nó — ký hiệu, cạnh, tệp và điểm kiểm tra lập chỉ mục — cùng mọi cấp quyền kho mã theo từng thành viên trên nó, các liên kết giữa space và kho mã của nó, và các bản ghi checkout cách ly của nó. Cùng bản checkout đó khi được đăng ký trong một không gian làm việc khác là một hàng độc lập và không bị ảnh hưởng. Các worktree trên đĩa mà những bản ghi đó trỏ tới không bị xóa bởi thao tác gỡ.