2013-05-09 31 views
5

Tôi không thể đẩy thẻ được chú thích trong kho lưu trữ từ xa git của tôi. Tất cả các quyền truy cập đã được cung cấp trong gerrit. ví dụ. [Refs/*]Không thể đẩy thẻ trong Git

tôi đang tạo ra các thẻ bằng cách sử dụng lệnh dưới đây

git tag -a v1.0 -m 'Base Version' 712d77e 

Khi tôi cố gắng để đẩy sử dụng dưới lệnh

git push origin v1.0 

hoặc

git push origin --tags 

tôi nhận được lỗi sau.

Counting objects: 1, done. 
Writing objects: 100% (1/1), 157 bytes, done. 
Total 1 (delta 0), reused 0 (delta 0) 
remote: Processing changes: refs: 1, done 
To ssh://... 
! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit) 
error: failed to push some refs to 'ssh://...' 

Vui lòng cho tôi biết cách tôi có thể đẩy thẻ trong kho lưu trữ.

Cảm ơn ....

+0

Tại sao trước tiên không thử thiết bị đầu cuối? Nếu nó hoạt động sau đó bạn có thể thu hẹp các vấn đề để gerrit – noMAD

Trả lời

2

Dòng này mang đến cho bạn một gợi ý:

! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit) 

Gerrit cấm việc đẩy mạnh như người dùng của bạn không phải là trong một nhóm với "Push Annotated Tag" đúng.

+0

thêm danh tính tác giả giả mạo và danh tính giả mạo giả mạo đã giúp chúng tôi đẩy các thẻ annoatated – user265950

15

Đây là thông báo lỗi chung được trả về bởi Gerrit nếu không được phép đẩy, ví dụ: bởi vì người dùng đẩy không có đủ đặc quyền.

Đặc biệt lỗi này xảy ra:

  1. Nếu bạn đẩy một cam kết để xem xét mã để một chi nhánh mà bạn không có quyền upload (quyền truy cập Push trên refs/for/refs/heads/*)

  2. nếu bạn bỏ qua việc xem xét mã mà không cần truy cập Đẩy ngay trên refs/heads/*

  3. nếu bạn đẩy thẻ chú thích mà không cần truy cập Thẻ được chú thích đẩy ngay trên refs/tags/*

  4. nếu bạn đẩy một thẻ có chữ ký mà không Đẩy Signed truy cập Tag ngay trên refs/tags/*

  5. nếu bạn đẩy một thẻ nhẹ mà không có quyền truy cập Tạo tham chiếu cho tên tài liệu tham khảo refs/tags/*

  6. nếu bạn đẩy một gắn thẻ với người khác làm người gắn thẻ và bạn không có quyền truy cập Forge Committer cho tên tham chiếu refs/tags/*

  7. nếu bạn chuyển sang dự án ở trạng thái chỉ đọc

Đối với người dùng mới, điều này thường xảy ra khi họ vô tình cố gắng bỏ qua việc xem xét mã. Sau đó, đẩy không thành công với thông báo lỗi bị Gerrit cấm vì dự án không cho phép bỏ qua việc xem xét mã. Việc bỏ qua việc xem xét mã được thực hiện bằng cách đẩy trực tiếp đến refs/heads/* (ví dụ: refs/heads/master) thay vì đẩy đến refs/for/* (ví dụ: refs/for/master).

sao chép từ prohibited by Gerrit

More Mô tả: Tôi có cùng một vấn đề với cài đặt mới của Gerrit 2.7, tìm kiếm và tìm thấy câu hỏi stackoverflow này, nhưng trường hợp của tôi là số 5 của mô tả này (tags trọng lượng nhẹ), vì vậy tôi thêm Tạo quyền tham chiếu cho refs/tags/* và sự cố được giải quyết.

+0

Bình chọn lên vì nguồn tốt đã được cung cấp. – Trismegistos

+0

Tôi không thể tìm thấy bất kỳ sự cho phép nào được gọi là "Push Annotated Tag" trong Gerrit của tôi. Ý của bạn là "Tạo thẻ chú thích"? (Tôi nhận ra câu trả lời là cũ, có lẽ tên của sự cho phép đã thay đổi?) – Jolta

3

Bạn cần phải thêm điều khoản của dự án sau đây cho [refs/tags/*]:

  • Tạo tham khảo: để tạo ra một thẻ mới.
  • Nhận dạng người gửi mạo danh: cho phép người tải lên thẻ khác nhau (bạn) vào trình gắn thẻ ban đầu.
  • Giả mạo danh tính tác giả: cho phép xử lý cam kết thuộc về người dùng khác.

Tham khảo Gerrit access controls để biết chi tiết

0

Tạo chú thích và Kiểm tra Gerrit. Bạn phải ở trong nhóm phù hợp được phép tạo chú thích

Nếu bạn tạo thẻ đơn giản, gerrit có thể từ chối tham chiếu đó, nhưng lại có thể phụ thuộc vào cấu hình gerrit.

tạo tag chú thích:

 
git tag -a -m "Some message" 

đẩy tất cả các thẻ của bạn:

 
git push --tags 

thẻ séc được tạo ra trong xa:

 
git ls-remote --tags 
0

"bị cấm bởi Gerrit" - phương tiện điều đó phải cho phép.

Trước tiên, hãy chọn dự án của bạn và truy cập "Truy cập". Sau đó, "Chỉnh sửa" và từ trình đơn thả xuống "thêm quyền". Than phải thêm ba quyền trên hình ảnh với các mũi tên.


enter image description here


hơn bạn có thể sử dụng trong các thiết bị đầu cuối:

git push origin --tags 

!!! QUAN TRỌNG Lưu ý rằng quyền lợi là dành cho refs/tags/*