Skip to content

Xử lý kho lưu trữ GitHub

Cách sử dụng cơ bản

Xử lý các kho lưu trữ công khai:

bash
# Sử dụng URL đầy đủ
repomix --remote https://github.com/user/repo

# Sử dụng dạng viết tắt của GitHub
repomix --remote user/repo

Bạn cũng có thể truyền trực tiếp dạng viết tắt owner/repo mà không cần --remote:

bash
repomix yamadashy/repomix

owner/repo cũng trông giống như một đường dẫn cục bộ tương đối, Repomix chỉ coi nó là kho lưu trữ từ xa khi không tồn tại tệp hoặc thư mục cục bộ nào có tên đó và kho lưu trữ có thể truy cập được trên GitHub. Một đường dẫn cục bộ trùng khớp luôn được ưu tiên; để buộc xử lý cục bộ cho một đường dẫn có dạng owner/repo, hãy thêm tiền tố ./ (ví dụ, repomix ./owner/repo). Nếu đối số khớp với mẫu nhưng không thể truy cập kho lưu trữ (ví dụ, kho lưu trữ riêng tư hoặc lỗi đánh máy), Repomix sẽ quay lại xử lý nó như một đường dẫn cục bộ.

Lựa chọn nhánh và commit

bash
# Nhánh cụ thể
repomix --remote user/repo --remote-branch main

# Tag
repomix --remote user/repo --remote-branch v1.0.0

# Mã hash của commit
repomix --remote user/repo --remote-branch 935b695

Yêu cầu

  • Phải cài đặt Git
  • Kết nối Internet
  • Quyền đọc kho lưu trữ

Kiểm soát đầu ra

bash
# Vị trí đầu ra tùy chỉnh
repomix --remote user/repo -o custom-output.xml

# Với định dạng XML
repomix --remote user/repo --style xml

# Xóa các comment
repomix --remote user/repo --remove-comments

Sử dụng Docker

bash
# Xử lý và xuất ra thư mục hiện tại
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix \
  --remote user/repo

# Xuất ra thư mục cụ thể
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
  --remote user/repo

Bảo mật

Vì lý do bảo mật, các tệp cấu hình (repomix.config.*) trong các kho lưu trữ từ xa không được tải theo mặc định. Điều này ngăn các kho lưu trữ không đáng tin cậy thực thi mã thông qua các tệp cấu hình như repomix.config.ts.

Cấu hình toàn cục và các tùy chọn CLI của bạn vẫn được áp dụng.

Để tin cậy cấu hình của một kho lưu trữ từ xa:

bash
# Sử dụng cờ CLI
repomix --remote user/repo --remote-trust-config

# Sử dụng biến môi trường
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repo

WARNING

--remote-trust-config cấp cho cấu hình của kho lưu trữ từ xa mức độ tin cậy ngang với máy của chính bạn. Một cấu hình đáng tin cậy có thể (thông qua input.processors) thực thi các lệnh tùy ý và (ví dụ thông qua output.instructionFilePath hoặc các mẫu include sử dụng ../) đọc các tệp cục bộ nằm ngoài kho lưu trữ. Chỉ sử dụng tùy chọn này cho các kho lưu trữ mà bạn hoàn toàn tin tưởng và đã kiểm tra kỹ, với sự thận trọng tương tự như trước khi chạy npm install hoặc Makefile từ một nguồn không quen thuộc.

Lời nhắc xác nhận

Khi bạn tin tưởng cấu hình của một kho lưu trữ trong terminal tương tác, repomix sẽ hiển thị cấu hình sắp được chạy và yêu cầu bạn xác nhận trước khi tải nó:

  • Có, chỉ lần này: chỉ tin tưởng lần chạy này.
  • Có, và không hỏi lại cho kho lưu trữ này: được ghi nhớ cho đến khi các tệp tạm thời của bạn bị xóa, và chỉ khi tệp cấu hình đó không thay đổi (tệp cấu hình bị chỉnh sửa sẽ khiến lời nhắc xuất hiện lại). Lưu ý rằng điều này chỉ áp dụng cho chính tệp cấu hình: một cấu hình .ts / .js có thể import các tệp khác, và những tệp đó không nằm trong phạm vi kiểm tra này.
  • Không: hủy bỏ mà không chạy cấu hình.

Lời nhắc này sẽ được bỏ qua khi bạn truyền --force, trong các shell không tương tác như CI (cấu hình vẫn được tin tưởng như trước, giúp các quy trình tự động hiện có tiếp tục hoạt động), hoặc khi bạn đã chọn luôn tin tưởng kho lưu trữ đó.

Để biết đầy đủ mô hình tin cậy — cấu hình đáng tin cậy có thể làm gì, cách cấu hình hiển thị được bảo vệ khỏi bị giả mạo, và quyết định "không hỏi lại" được lưu trữ ở đâu — xem Bảo mật.

Khi sử dụng --config với --remote, bắt buộc phải có đường dẫn tuyệt đối:

bash
repomix --remote user/repo --config /home/user/repomix.config.json

Các vấn đề thường gặp

Vấn đề truy cập

  • Đảm bảo kho lưu trữ là công khai
  • Kiểm tra việc cài đặt Git
  • Xác minh kết nối Internet

Kho lưu trữ lớn

  • Sử dụng --include để chọn các đường dẫn cụ thể
  • Bật --remove-comments
  • Xử lý các nhánh riêng biệt

Tài nguyên liên quan

  • Tùy chọn dòng lệnh - Tài liệu tham khảo CLI đầy đủ bao gồm các tùy chọn --remote
  • Cấu hình - Thiết lập các tùy chọn mặc định cho xử lý từ xa
  • Nén mã - Giảm kích thước đầu ra cho các kho lưu trữ lớn
  • Bảo mật - Cách Repomix xử lý việc phát hiện dữ liệu nhạy cảm

Released under the MIT License.