Hub documentation

Yêu cầu kéo và Thảo luận

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Yêu cầu kéo và Thảo luận

Hub Pull requests và Discussions cho phép người dùng đóng góp cho cộng đồng vào các kho lưu trữ. Pull requests và discussions hoạt động giống nhau cho tất cả các loại kho lưu trữ.

Nhìn chung, mục tiêu là xây dựng một phiên bản đơn giản hơn của các PR và Issues trên các nền tảng git khác (như GitHub):

  • không có nhánh fork nào được sử dụng: người đóng góp đẩy trực tiếp lên nhánh ref đặc biệt trên kho mã nguồn.
  • không có ranh giới rõ ràng giữa các cuộc thảo luận và PR: về cơ bản chúng giống nhau nên được hiển thị trong cùng một danh sách.
  • chúng được tối giản hóa cho ML (tức là các kho models/datasets/spaces), không phải các kho tùy ý.

Lưu ý, Pull Requests và các cuộc thảo luận có thể được bật hoặc tắt từ cài đặt kho lưu trữ

Danh sách

Bằng cách chuyển đến tab cộng đồng trong bất kỳ kho lưu trữ nào, bạn có thể xem tất cả các Thảo luận và Yêu cầu kéo. Bạn cũng có thể lọc để chỉ xem những mục đang mở.

Xem

Trang Discussion cho phép bạn xem các bình luận từ những người dùng khác. Nếu đó là một Pull Request, bạn có thể xem tất cả các thay đổi bằng cách chuyển sang tab Files changed.

Chỉnh sửa tiêu đề Thảo luận / Yêu cầu hợp nhất

Nếu bạn đã mở một PR hoặc thảo luận, là tác giả của kho lưu trữ, hoặc có quyền ghi vào kho, bạn có thể chỉnh sửa tiêu đề thảo luận bằng cách nhấp vào nút hình cây bút chì.

Ghim Thảo luận / Yêu cầu hợp nhất

Nếu bạn có quyền ghi vào một kho lưu trữ, bạn có thể ghim các cuộc thảo luận và Pull Requests. Các cuộc thảo luận được ghim sẽ xuất hiện ở đầu danh sách tất cả các cuộc thảo luận.

Khóa Thảo luận / Yêu cầu Gộp

Nếu bạn có quyền ghi vào một kho lưu trữ, bạn có thể khóa các cuộc thảo luận hoặc Pull Requests. Khi một cuộc thảo luận bị khóa, các bình luận trước đó vẫn hiển thị và người dùng sẽ không thể thêm bình luận mới.

Chỉnh sửa và kiểm duyệt bình luận

Nếu bạn đã viết một bình luận hoặc có quyền ghi vào kho lưu trữ, bạn có thể chỉnh sửa nội dung của bình luận từ menu ngữ cảnh ở góc trên bên phải của hộp bình luận.

Sau khi bình luận đã được chỉnh sửa, một liên kết mới sẽ xuất hiện phía trên bình luận. Liên kết này hiển thị lịch sử chỉnh sửa.

Bạn cũng có thể ẩn một bình luận. Việc ẩn bình luận là không thể hoàn tác, và không ai có thể xem nội dung của nó hay chỉnh sửa nó nữa.

Đọc thêm moderation để xem cách báo cáo một bình luận lạm dụng.

Tôi có thể sử dụng Markdown và LaTeX trong các bình luận và thảo luận của mình không?

Đúng vậy! Bạn có thể sử dụng Markdown để thêm định dạng cho bình luận của mình. Ngoài ra, bạn có thể tận dụng LaTeX để dàn trang toán học, các công thức của bạn sẽ được hiển thị bằng KaTeX trước khi được phân tích trong Markdown.

Đối với các phương trình LaTeX, bạn phải sử dụng các ký tự phân cách sau:

  • $$ ... $$ cho chế độ hiển thị
  • \\(...\\) cho chế độ inline (không có khoảng trắng giữa các dấu gạch chéo và dấu ngoặc).

Làm thế nào để quản lý Pull requests cục bộ?

Giả sử số PR của bạn là 42.

git fetch origin refs/pr/42:pr/42
git checkout pr/42
# Do your changes
git add .
git commit -m "Add your change"
git push origin pr/42:refs/pr/42

Chế độ nháp

Chế độ Draft (bản nháp) là trạng thái mặc định khi mở một Pull request mới từ đầu trong “Advanced mode” (chế độ nâng cao). Với trạng thái này, các cộng tác viên khác biết rằng Pull request của bạn đang được phát triển và không thể được hợp nhất (merge). Khi nhánh (branch) của bạn đã sẵn sàng, chỉ cần nhấn nút “Publish” (Công bố) để đổi trạng thái của Pull request thành “Open” (Mở). Lưu ý rằng sau khi công bố, bạn không thể quay lại chế độ draft.

Xóa tham chiếu Pull request

Khi một Pull request được đóng hoặc hợp nhất, bạn có thể xóa git ref liên quan (nhánh lưu các commit của PR) để giải phóng dung lượng lưu trữ.

Sau khi đóng hoặc hợp nhất một PR, bạn sẽ thấy một thông báo ở cuối phần thảo luận hiển thị dung lượng lưu trữ ước tính có thể được giải phóng bằng cách xóa ref. Nhấp vào nút “Delete ref” để xóa vĩnh viễn git ref của PR và thu hồi dung lượng lưu trữ.

Điều này đặc biệt hữu ích khi nhánh chính đã được nén (squash) và các tệp bị xóa sau đó. Những tệp này vẫn còn trong lịch sử của nhánh PR ngay cả khi chúng không được thêm bởi chính PR, chiếm dung lượng lưu trữ có thể được giải phóng.

Việc xóa một PR ref là không thể hoàn tác. Sau khi xóa, bạn sẽ không thể fetch hoặc checkout các commit của PR cục bộ nữa.

Sử dụng nâng cao Pull requests

Các thay đổi được lưu trữ ở đâu trong kho git?

Các Pull request của chúng tôi không sử dụng forks và branches, mà thay vào đó là các “branches” tùy chỉnh được gọi là refs, được lưu trữ trực tiếp trên kho mã nguồn.

Git References là cơ chế bên trong của git, vốn đã lưu trữ các tag và branch.

Ưu điểm của việc sử dụng các ref tùy chỉnh (chẳng hạn như refs/pr/42) thay vì các nhánh là chúng không được fetch (theo mặc định) bởi những người (bao gồm cả “chủ” của repo) clone repo, nhưng vẫn có thể được fetch theo yêu cầu.

Lấy tất cả các Pull request: dành cho các bậc thầy git 🧙‍♀️

Bạn có thể điều chỉnh refspec cục bộ của mình để lấy tất cả các Pull request:

  1. Lấy
git fetch origin "refs/pr/*:refs/remotes/origin/pr/*"
  1. tạo một nhánh cục bộ theo dõi ref
git checkout pr/{PR_NUMBER}
# for example: git checkout pr/42
  1. Nếu bạn thực hiện các thay đổi cục bộ, để đẩy lên ref của PR:
git push origin pr/{PR_NUMBER}:refs/pr/{PR_NUMBER}
# for example: git push origin pr/42:refs/pr/42
Update on GitHub