গিট পুশ ত্রুটি প্রাক-গ্রহণের হুকটি অস্বীকার করেছে


167

আমি এই টিউটোরিয়াল https://github.com/gitlabhq/gitlab-recips/blob/master/install/centos/README.md থেকে 1-6 টি পদক্ষেপ অনুসরণ করে ভার্চুয়াল মেশিনে গিতলভাক রেল সার্ভার চালিয়েছি এবং রেল সার্ভার এক্সিকিউটিভ কমান্ড শুরু করি sudo -u git -H bundle exec rails s -e production। এর পরে আমি প্রশাসক সরঞ্জাম ব্যবহার করে ব্যবহারকারী তৈরি করেছি এবং এই ব্যবহারকারীর অধীনে নতুন প্রকল্প তৈরি করেছি। তারপরে আমি বিদ্যমান প্রকল্পটিকে যথারীতি এই রেপোতে ঠেকানোর চেষ্টা করছি। তবে শেষ পদক্ষেপে git push origin masterত্রুটিটি ব্যর্থ হয়

[রিমোট প্রত্যাখ্যান] মাস্টার -> মাস্টার (প্রাক-প্রাপ্ত হুক প্রত্যাখ্যানিত)

অতিরিক্ত তথ্য:

1) আমি ইমেল অ্যাক্টিভেশন লিঙ্কের মাধ্যমে ব্যবহারকারীর (প্রকল্পের মালিক) সক্রিয় করিনি, কারণ আমি সার্ভার-সাইডে পোস্ট পরিষেবা কনফিগার করেছি না এবং এই ম্যানুয়ালটিতে কীভাবে এটি করা যায় সে সম্পর্কে আমি কোনও নির্দেশনা পাইনি।

2) গিটল্যাব সার্ভারটি কীভাবে প্রকল্পটিকে রেপোতে ঠেলাতে পারে তার টিপস উত্পন্ন করে এবং সেখানে কোনও repositories/পথ নেই। আমার অর্থ এটি সঠিকভাবে git@mygitlabhost:user/repo.gitপরিবর্তে উত্পন্ন করে git@mygitlabhost:repositories/user/repo.git

3) যখন আমি এটা ডিবাগ করার চেষ্টা করেছিল, আমি খোলা pre-receiveসার্ভারে রেপো ভিতরে স্ক্রিপ্ট এবং আউটপুট ভেরিয়েবল (আছে তাদের 3) করার চেষ্টা: refs = ARGF.read, key_id = ENV['GL_ID']এবং repo_path = Dir.pwdদেখলেন, যে KEY_ID সবসময় খালি। সমস্যাটি এখানে রয়েছে ... যদি তাই হয় তবে দয়া করে কীভাবে এটি ঠিক করবেন সে সম্পর্কে আমাকে পরামর্শ দিন। ধন্যবাদ


15
আমি শপথ করছি, প্রতিটি সফ্টওয়্যার বিকাশকারী দলে কমপক্ষে 1 জন ব্যক্তি রয়েছেন যা প্রতিদিন জাগে এবং কীভাবে অন্যান্য বিকাশকারীদের জীবনকে আরও শক্ত করে তুলবে তা চিন্তা করে।
সামায়ো

দেখে মনে হচ্ছে একটি খুব জনপ্রিয় উত্তর রয়েছে যা অবশ্যই বেশিরভাগ মানুষের জন্য কাজ করবে। আমার ক্ষেত্রে যাইহোক, একই বার্তাটি গিট হাবের কাছ থেকে পাওয়া গিয়েছিল যখন ধাক্কা দেওয়ার চেষ্টা করার সময় অন্য কোনও মেশিন থেকে ইতিমধ্যে অন্য ধাক্কা আগেই চলছে।
হ্যাক-আর

উত্তর:


230

GitLab ডিফল্ট চিহ্ন দ্বারা masterযেমন শাখা protected(পার্ট দেখুন Protecting your codeমধ্যে https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ কেন)। যদি এটি আপনার ক্ষেত্রে হয় তবে এটি সহায়তা করতে পারে:

আপনার প্রকল্প> সেটিংস> সংগ্রহস্থল খুলুন এবং "সুরক্ষিত শাখাগুলি" এ যান, তালিকায় "মাস্টার" শাখা পান এবং "অরক্ষিত" ক্লিক করুন এবং আবার চেষ্টা করুন।

https://gitlab.com/gitlab-com/support-forum/issues/40 এর মাধ্যমে

সংস্করণ 8.11 এবং তার থেকে উপরে এর জন্য এখানে কীভাবে করবেন: https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and- विसरा-access -to- certain - users


8
ইউআই কিছুটা বদলেছে: প্রকল্প "সেটিংস" এর পরে, "সংগ্রহস্থল" ট্যাবে ক্লিক করুন। তারপরে "সুরক্ষিত শাখা"
ডন লি

ওপি-র একই সমস্যা হচ্ছিল এবং এই সমাধানটি আমার পক্ষে কাজ করেছে, ধন্যবাদ! তবে এখন আমি ভাবছি, কেন? আমি কিছুক্ষণ ধরে গিটল্যাব ব্যবহার করছি এবং হঠাৎ করে আমি এই কাজটি করেছি? কী বদলে গেল?
অ্যান্ড্রু লামার

2
যেহেতু GitLab 8.11বিকল্পগুলি কিছুটা পরিবর্তন হয়েছে
আর্ঘ্যা সি

একই সমস্যার মুখোমুখি। এখানে আমি অন্য শাখাটিও ধাক্কা দিতে সক্ষম নই। আমি যদিও প্রথমবার এটি ঠেলাচ্ছি।
সন্তোষ কদম

1
আমি সুরক্ষিত অপসারণ করেছি কিন্তু এখন কি হবে? বিশ্বের অন্য কেউ এই রেপোতে কাজ করতে পারবেন?
ফ্লোটারার

14

আমার স্থানীয় মেশিনে সমস্যার সমাধান নিম্নলিখিত:

উ: প্রথমে নিশ্চিত হয়ে নিন যে আপনি বিটবকেট সার্ভারের সাথে সংযোগ স্থাপনের জন্য বিশদটি সঠিকভাবে লগটি ব্যবহার করছেন (যেমন আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড / এসএসএইচ কী) 

বি। তারপরে, আপনার স্থানীয় গিট কনফিগারেশনে নাম / ইমেল ঠিকানাটি সঠিকভাবে সেট করা আছে তা নিশ্চিত করুন: আপনি যে অ্যাকাউন্টটির অধীনে চাপ দেওয়ার চেষ্টা করছেন তার জন্য আপনার স্থানীয় গিট কনফিগারেশন সেট করুন (চেকটি দৃser়ভাবে দাবি করে যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ ব্যক্তি) * মনে রাখবেন যে এটি নাম এবং ইমেল ঠিকানার জন্য উভয় ক্ষেত্রেই সংবেদনশীল * এটি স্থান সংবেদনশীলও রয়েছে - কিছু সংস্থার অ্যাকাউন্টে অতিরিক্ত নামে স্থান / অক্ষর রয়েছে যেমন eg " Contractor/ space space(LDN)"। বিটবকেট সার্ভারের মতো আপনার কনফিগারেশনে আপনাকে একই সংখ্যক স্পেস অন্তর্ভুক্ত করতে হবে। আটকে থাকলে নোটপ্যাডে এটি পরীক্ষা করুন।

সি। আপনি যদি ভুল অ্যাকাউন্ট ব্যবহার করে থাকেন তবে কেবল আপনার অ্যাকাউন্টের শংসাপত্রগুলি (ব্যবহারকারীর নাম / পাসওয়ার্ড / এসএসএইচ কী) স্যুইচ করুন এবং আবার চাপ দেওয়ার চেষ্টা করুন।

ডি অন্যথায়, আপনার স্থানীয় কনফিগারেশনটি ভুল হলে আপনাকে এটি সংশোধন করতে হবে

ম্যাকের জন্য

open -a TextEdit.app ~/.gitconfig

দ্রষ্টব্য: আপনি পুরানো প্রতিশ্রুতিগুলি ঠিক করতে হবে যা আপনি চাপ দেওয়ার চেষ্টা করেছিলেন।

  1. আপনার শেষ প্রতিশ্রুতি সংশোধন করুন:

    > git commit --amend --reset-author
    
      
    <save and quit the commit file text editor that opens, if Vim then
    :wq to save and quit>
    
  2. আপনার প্রতিশ্রুতি পুনরায় চাপ দেওয়ার চেষ্টা করুন:

    > git push
    

12

আমার ক্ষেত্রে, আমার দলটি একটি রেপো তৈরি করতে নেতৃত্ব দেয় (রেপো ফাঁকা ছিল) এবং আমাকে বিকাশকারী হিসাবে অর্পণ করে আমি যখন কোডটির দিকে সরাসরি ধাক্কা খেলাম তখন আমার যে ত্রুটিটি ছিল তার উপর নজর রাখার! [remote rejected] master -> master (pre-receive hook declined) জন্য এটি কীভাবে স্থির হয়েছিল যাতে তিনি আমাকে রক্ষণাবেক্ষণকারী হিসাবে নিযুক্ত করেছিলেন তাই আমি কোডটি সরাসরি মাস্টারের দিকে ঠেলে দিতে সক্ষম হয়েছিল।


10

মনে হচ্ছে সমস্যাটি কিছু পরিষেবা যেমন সাইডিকিকের সাথে ki রানিং sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=productionকনফিগারেশনের সাথে সমস্ত সমস্যার আউটপুট করে।


4

ihave হিরকু লগের নির্দেশ অনুসরণ করেছে img https://devcenter.heroku.com/articles/buildpacks#detection-failure (cmd: Herku লগগুলি ব্যবহার করুন -> আপনার ত্রুটি দেখান) তারপরে cmd করুন: "হিরকু বিল্ডপ্যাকস: পরিষ্কার"। অবশেষে, এটি আমার পক্ষে কাজ করেছিল!


2

আপনার কাছে প্রকল্প বা মাস্টার শাখায় বিকাশকারী অ্যাক্সেস নাও থাকতে পারে। নতুন কাজ এগিয়ে নিতে আপনার ডেভ অ্যাক্সেস দরকার।

নতুন কাজ মানে নতুন শাখা এবং কমিট।


2

ঘটনাটি নাও হতে পারে তবে এটি ছিল আমার " প্রাক-প্রাপ্ত হুক প্রত্যাখ্যান " ত্রুটির সমাধান:

কিছু সংগ্রহস্থল রয়েছে যা কেবল পুল অনুরোধের মাধ্যমে পরিবর্তনের অনুমতি দেয় । এর অর্থ হল আপনাকে করতে হবে

  1. আপনি যে পরিবর্তনগুলিতে পরিবর্তন করতে চান সেই শাখাকে বেস হিসাবে গ্রহণ করে একটি নতুন শাখা তৈরি করুন।
  2. প্রতিশ্রুতিবদ্ধ এবং নতুন শাখায় আপনার পরিবর্তন পুশ।
  3. মূল শাখার সাথে আপনার শাখাটি মার্জ করার জন্য একটি পুল অনুরোধ খুলুন।

0

আপনার গিট অ্যাকাউন্টে আপনার ssh কী যুক্ত করতে হবে, যদি এটি ত্রুটি ছুড়ে দেয় তবে পূর্ববর্তী ssh কী মুছুন এবং একটি নতুন ssh কী তৈরি করুন তারপরে যুক্ত করুন।


তাতে কোনও লাভ হয়নি। :( উভয় অ্যাকাউন্টে পরীক্ষিত - ভিএম এবং লোকাল মেশিন রেসপন্থে মূল এবং মাইউসার
হ্রফট

গিট রিমোট -v দেখুন, আপনার গিট রেপো যুক্ত হয়েছে কি না?
হার্ডিক হার্ডিয়া

'গিট রিমোট-ভি' আউটপুটস: অরিজিনাল গিট @ মাইগিটলবোস্ট: রিপোজিটরি / ব্যবহারকারী / রেপোসিত (ফ্যাচ) উত্স গিট @ মাইগিটলাভস্ট: রিপোজিটরি / ইউজার / রেপো.git (ধাক্কা)
হ্রফট

যদি আপনি হোস্ট করা গিটল্যাব ব্যবহার করছেন তবে সমস্যাটি তাদের পক্ষে সম্ভবত রয়েছে। কয়েক মিনিট পরে আবার চেষ্টা করুন।
এরিক অ্যারোনস্টি

0

আমি পরিবর্তন করে এই সমস্যা সমাধান করা remote 'origin' urlথেকে httpথেকে gitআচরণবিধির.git/config


0

প্রজেক্ট সেটিংসে যান -> হুকস -> (আন্ডার) প্রাক-প্রাপ্ত হুক্স

সিপি নিষ্ক্রিয় করার জন্য কমিটগুলিতে ইস্যু সংক্রান্ত রেফারেন্স প্রয়োজন


0

আমি বিটবকেট ব্যবহার করে একই ত্রুটিতে হোঁচট খেয়েছি। আমার একটি স্থানীয় গিট রেপো ছিল যা আমি অনলাইনে ব্যাকআপ নিতে চেয়েছিলাম, তাই আমি আমার বিটবাকেট অ্যাকাউন্ট থেকে একটি নতুন সংগ্রহশালা তৈরি করেছি (ওয়েব ইন্টারফেস ব্যবহার করে)।

দৌড়ানোর পরে git remote add origin git@bitbucket.org:StatMarianne/<a private repo>.git, আমি git push origin masterকোনও লাভ করতে পেলাম না (আমি সাধারণত -u বিকল্পটি ব্যবহার git pushকরি না কারণ ধাক্কা দেওয়ার সময় এবং টানানোর সময় আমি পুরো রেপো এবং শাখার নাম লিখতে আপত্তি করি না))

ত্রুটিটি পড়া:

remote: You're not allowed to write to this repository.
To bitbucket.org:StatMarianne/<a private repo>.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@bitbucket.org:StatMarianne/<a private repo>.git'

আমি দৌড়ানোর সময় git push -u origin master( স্থানীয়ভাবে বিটবকেটের নির্দেশাবলী অনুসরণ করে) আমার স্থানীয় শাখাটি সফলভাবে ধাক্কা খেল।

আমি অবাক করে দিয়েছি, যেহেতু -u ( --set-upstream) কেবল "আপস্ট্রিম (ট্র্যাকিং) রেফারেন্স যুক্ত করা উচিত ..." যাইহোক।


-1

আমি একই সমস্যার মুখোমুখি হয়েছি, এটি কারণ আমি আমার কোডটি সরাসরি মাস্টার শাখায় চাপছি এবং এর জন্য আমার অধিকার নেই। সুতরাং আমি আমার কোডটিকে একটি নতুন শাখায় ঠেলাচ্ছি এবং তার পরে, আমি মাস্টারের সাথে একত্রীকরণের জন্য একটি টান অনুরোধ তৈরি করেছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.