2012-10-22 33 views

Trả lời

9

GitHub không hiển thị chức năng này, mặc dù có hai tùy chọn:

  • Hỗ trợ GitHub có thể đặt cài đặt này trên kho lưu trữ.

  • Bạn có thể mô phỏng điều này bằng cách đặt kho lưu trữ GitHub làm bản sao của một kho lưu trữ khác mà bạn có nhiều quyền kiểm soát hơn. Chỉ cấp quyền truy cập ghi vào tài khoản GitHub cho một tập hợp tối thiểu các cá nhân chịu trách nhiệm và một tài khoản được sử dụng để thực hiện việc phản chiếu. Kho lưu trữ không phải GitHub sẽ là nơi bạn sẽ đặt receive.denyNonFastForwards và có mọi người đẩy. Quá trình sao chép có thể được thực hiện bằng móc nối, công việc cron hoặc kết hợp cả hai. Một lý do để đi với cả hai sẽ là để có được một thời gian trễ tối thiểu giữa hai kho, và vẫn đảm bảo tất cả mọi thứ được cập nhật ngay cả khi móc post-receive không cập nhật GitHub (nếu GitHub đã xuống, ví dụ).

+1

Trong khi điều này có vẻ chính xác, tôi đã có thể nhờ GitHub thiết lập điều này thay mặt chúng tôi bằng cách liên hệ với nhóm hỗ trợ của họ và yêu cầu nó được thực hiện. –

+0

Điều cần biết. Tôi sẽ sửa đổi câu trả lời để đề cập đến sự hỗ trợ của GitHub. –

0

Phiên bản doanh nghiệp Github giờ đây có tính năng disabling force pushes. Đối với những người không sử dụng ấn bản doanh nghiệp, bạn có thể configure a pre-push hook.

Thực tiễn tốt là không bao giờ ép buộc để làm chủ trừ khi thực sự cần thiết.

Các vấn đề liên quan