git đẩy không thành công với remote: error: hook từ chối cập nhật refs / Heads / master


9

Gần đây tôi đang cố gắng bắt đầu dự án của riêng mình trên một cộng đồng git repo và tôi đã gặp một số biến chứng. Tôi mới sử dụng git, nhưng đây là những gì tôi đã cố gắng làm để kiểm tra nó.

Tôi chạy các lệnh sau và tất cả chúng đều chạy ok.

git config --global user.name "MYNAME"
git config --global user.email "MYEMAIL"
mkdir testproject
cd testproject
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@git.xxxxx.org:community/testproject.git

và tất cả các lệnh trên chạy không có lỗi. Tuy nhiên, khi tôi chạy lệnh tiếp theo, tôi gặp một lỗi rất lớn.

git push -u origin master

và lỗi là.

Counting objects: 3, done.
Writing objects: 100% (3/3), 204 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Username for 'http://git.xxxxxx.org': MYEMAIL
Password for 'http://MYEMAIL.com@git.xxxxxx.org': 
remote: /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.1.0 in any of the sources (Bundler::GemNotFound)
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in `map!'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in `materialize'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in `specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:159:in `specs_for'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:148:in `requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/environment.rb:18:in `requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:13:in `setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://git.xxxxxx.org/community/testprojact.git'

Tôi không thực sự chắc chắn phải làm gì từ đây, nhưng bất kỳ trợ giúp đều được đánh giá cao.

Ngoài ra, tôi đang chạy Arch nếu nó quan trọng.

Chỉnh sửa: Tôi đã thử cài đặt lại cào và nó không hoạt động. Phiên bản cào hiện tại của tôi là 10.1.1, vì vậy tôi đã thử gỡ bỏ nó và thay thế bằng phiên bản 10.1.0 và điều đó cũng không khắc phục được.

Tuy nhiên khi tôi cài đặt rake, tôi gặp lỗi:

WARNING:  You don't have /home/josh/.gem/ruby/2.0.0/bin in your PATH,
          gem executables will not run.

Điều này có thể được đóng góp cho vấn đề?

Câu trả lời:


9

Việc điều khiển từ xa nhận dữ liệu chỉ là tác dụng phụ của vấn đề thực sự - git nghĩ rằng nó đã bị từ chối vì một trong các móc nối ở đầu từ xa không thành công với trạng thái thoát> 0 (bạn có thể thấy nó ở trong Ruby truy nguyên). Có vẻ như một trong những cái móc cố gắng sử dụng rakevà không thể tìm thấy nó. Đây không phải là một vấn đề với repo cụ thể của bạn, có lẽ. Thông báo đó cũng không phải từ máy tính cục bộ của bạn - lưu ý rằng nó có tiền tố là "điều khiển từ xa", đó là điều khiển từ xa bị thiếu rake, vì vậy có lẽ chỉ một sysadmin ở bên đó có thể khắc phục vấn đề.

Tôi sẽ đề nghị bạn liên hệ với bất cứ ai quản lý kho git cộng đồng của bạn.


Đó chính xác là những gì tôi đã nghĩ. Không có cái móc nào trong repo git của tôi hoạt động, và cho đến nay tôi chưa làm gì thậm chí dường như thay đổi lỗi hoặc tạo cái mới. Tôi sẽ liên hệ với chủ sở hữu của repo và xem liệu anh ta có bất kỳ thông tin nào về vấn đề này không.
Joshua Strot

Hóa ra vấn đề là, tôi đã cố gắng đẩy mạnh phương thức HTTP không được hỗ trợ trên GitLab của họ. Thay vào đó, bạn phải vượt qua SSH, hoạt động tuyệt vời. Tôi phải nói rằng, tôi không mong đợi điều đó,
Joshua Strot

0

Tôi tin rằng đây là vấn đề của bạn.

remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)

Tìm kiếm lỗi này Tôi đã tìm thấy Hỏi & Đáp này trên SO, có tiêu đề: error: hook đã từ chối cập nhật refs / Heads / bên ngoài_pub trong khi đẩy một nhánh .

Dường như có một git hook trên máy chủ đang từ chối việc đẩy.

đoạn trích

Móc phía máy chủ

Ngoài các hook phía máy khách, bạn có thể sử dụng một vài hook phía máy chủ quan trọng như một quản trị viên hệ thống để thực thi gần như bất kỳ loại chính sách nào cho dự án của bạn. Các kịch bản này chạy trước và sau khi đẩy đến máy chủ. Các móc trước có thể thoát ra khác không bất cứ lúc nào để từ chối việc đẩy cũng như in thông báo lỗi trở lại máy khách; bạn có thể thiết lập một chính sách đẩy phức tạp như bạn muốn.

Để xác định lý do tại sao bạn nhận được thông báo lỗi này, bạn sẽ cần phải tìm ra cái móc nào đang làm bạn vấp ngã. Móc được lưu trữ trong hooksthư mục bên trong thư mục git (ở đầu máy chủ từ xa) - tìm pre-receivemóc hoặc updatemóc và kiểm tra xem điều gì gây ra sự cố của bạn.


Trong thư mục hook của tôi, tôi có nhiều tệp với phần mở rộng .sample. Tôi không có móc nhận trước, tuy nhiên có móc cập nhật. Vì tất cả chúng đều có phần mở rộng .sample, tôi không tin bất kỳ ứng dụng nào trong số chúng đang được sử dụng, vậy có thể đó là một cái móc trên máy chủ đang từ chối tôi không? Tôi đã tìm kiếm trực tuyến và có một vài người có vấn đề của tôi đã khắc phục nó bằng cách làm nhiều việc khác nhau, không ai trong số họ sửa nó trong trường hợp của tôi.
Joshua Strot

0

Kiểm tra vai trò / nhóm và quyền trong kho GIT Trường hợp của tôi, chỉ có quyền đỏ và được giải quyết sau khi truy cập đọc / ghi được cung cấp bởi nhóm kho lưu trữ GIT


0

Có @Radhakrishnan đã đề xuất, bạn có thể phải đối mặt với vấn đề quyền.

Trong trường hợp bạn đang sử dụng Redmine Git Hosting , hãy kiểm tra vai trò Trình quản lý quyền projet của bạn đã được gán cho người dùng đang cố gắng viết lại các tham chiếu theo dõi git của anh ấy / cô ấy.

Xin lưu ý rằng tôi giả sử bạn biết về tác động lực đẩy git đối với những người dùng khác có thể đang chia sẻ cùng một chi nhánh từ xa. Để biết thêm chi tiết, kiểm tra bài viết này

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.