গিটহাবের দিকে ঠেলে ত্রুটি - সংগ্রহস্থল ডাটাবেসে কোনও অবজেক্ট যোগ করার জন্য অপর্যাপ্ত অনুমতি


126

আমার গিটহাবের সংগ্রহস্থলটিতে "গিট পুশ" করার চেষ্টা করার সময় আমি একটি অস্বাভাবিক ত্রুটি ফিরে পেয়েছি:

বস্তু গণনা: 8, সম্পন্ন হয়েছে।
2 থ্রেড ব্যবহার করে ডেল্টা সংক্ষেপণ।
কম্প্রেসিং অবজেক্টস: 100% (4/4), সম্পন্ন হয়েছে।
লেখার অবজেক্টস: 100% (5/5), 1.37 কিবি, সম্পন্ন হয়েছে।
মোট 5 (ব-দ্বীপ 2), পুনরায় ব্যবহৃত 0 (ব-দ্বীপ 0)
ত্রুটি: সংগ্রহস্থল ডাটাবেস। / অবজেক্টসগুলিতে কোনও অবজেক্ট যোগ করার জন্য পর্যাপ্ত অনুমতি

মারাত্মক: অবজেক্ট লিখতে ব্যর্থ
ত্রুটি: আনপ্যাক-অবজেক্টস ত্রুটি কোড 128 সহ প্রস্থান করা হয়েছে
ত্রুটি: আনপ্যাক ব্যর্থ হয়েছে: আনপ্যাক-অবজেক্টগুলি অস্বাভাবিক প্রস্থান করুন
To git@github.com: bixo / bixo.git
 ! [রিমোট প্রত্যাখ্যাত] মাস্টার -> মাস্টার (এন / এ (আনপ্যাকার ত্রুটি))
ত্রুটি: কিছু গতিপথ 'git@github.com: bixo / bixo.git' এ ধাক্কা দিতে ব্যর্থ হয়েছে
  • গিটহাবের ক্লিন ক্লোন হওয়ার পরে, আমি কোনও পরিবর্তিত ফাইল সম্পাদনা / যুক্ত / প্রতিজ্ঞা / পুশ করতে পারি।
  • আমি যদি দ্বিতীয় বার এটির পুনরাবৃত্তি করি তবে আমি উপরের ত্রুটিটি পেয়েছি।
  • আমি অন্য গিটহাবের সংগ্রহস্থলগুলিতে ঠিক রাখতে পারি।
  • আমি আমার পক্ষে ফাইল / ডিরেক্টরি অনুমতি পরীক্ষা করেছি এবং সেগুলি ঠিক আছে বলে মনে হচ্ছে।
  • আমি ম্যাক ওএস এক্স 10.5.8 এ 1.6.2.3 গিট চালাচ্ছি

পূর্ববর্তী স্ট্যাক ওভারফ্লো প্রশ্ন ( এসও 1904860 ) এর জন্য আমার উপরের সংগ্রহস্থলটি আমার মজাদার উত্স ছিল , তাই সম্ভবত গিটহাব রেপোটি দূষিত হয়ে গেছে। অনুসন্ধানের মাধ্যমে আমি খুঁজে পেয়েছি কেবল একই সমস্যাটি ছিল গিথুব- এ একটি আনপ্যাক ব্যর্থ সমস্যা reported বিশেষত গিটহাব ব্যবহার না করার সময় এর আগে অন্য কেউ এই সমস্যাটি নিয়ে চলেছে?



1
এই ত্রুটিযুক্ত লোকদের জন্য আরেকটি ইঙ্গিত: আমি এই ত্রুটিটি পেয়েছি কারণ আমি ভুল ব্যবহারকারীকে চাপ দেওয়ার জন্য ব্যবহার করছিলাম। আমার সার্ভারটির ব্যবহারকারী রয়েছে fooএবং git; উভয়ই পড়তে পারে /opt/git/<repo>তবে কেবল gitএটিই লিখতে পারে। gitকারওর মধ্যে দেওয়া না হলে বর্তমান ব্যবহারকারীর ডিফল্ট .git/config, যা আমি ভুলে গিয়েছিলাম। নীচে বিস্তৃত উত্তরগুলির কোনওটিরই প্রয়োজন ছিল না।
সেবাস্তিয়ান

উত্তর:


209

আপনি যখন এই ত্রুটিটি গিথুবের বাইরে দেখেন তবে একটি প্রতিকার এখানে দেওয়া হল।

এটি পেয়েছেন: http://mapopa.blogspot.com/2009/10/git-insuu-

ssh me@myserver
cd repository/.git

sudo chmod -R g+ws *
sudo chgrp -R mygroup *

git config core.sharedRepository true

এর পরে গিট ডিমনকে .git / অবজেক্টে লেখার সময় গ্রুপ ফাইল অনুমতি ব্যবহার করা উচিত।


4
+1 এটি আমাদের পক্ষে কাজ করেছে। এর জন্য 'গুলি' কী sudo chmod -R g+ws *?
এরিক বি

5
এটি অন্য ব্যবহারকারীর দ্বারা নির্মিত যে কোনও নতুন ফাইলকে রুট ডিরেক্টরিটির গোষ্ঠী অনুমতি বজায় রাখার অনুমতি দেবে। অন্যথায়, আপনার সংগ্রহস্থল পর্যন্ত চাপ দিতে ত্রুটি হবে। সেটুইড এবং সেটজিড দেখুন
সার্ভেক্স

গিরিটিয়াসের সাথে ডেবিয়ান 6 এবং পিএইচপিএসটারম আইডিইতে এই একই বার্তাটি পেয়েছি "ত্রুটি: সংগ্রহস্থল ডাটাবেস .git / অবজেক্টে কোনও অবজেক্ট যোগ করার জন্য অপর্যাপ্ত অনুমতি"। আমি প্রকল্পগুলির মূল ফোল্ডারে এই সমাধানটি ব্যবহার করেছি, "+ ট্রিক" দিয়ে দুর্দান্ত কাজ করি।
বেঞ্জ

3
repo-config অপ্রচলিত। হওয়া উচিত git config core.sharedRepository true
lpapp

4
দ্রষ্টব্য: আপনি যদি ওয়াইল্ডকার্ড " " ব্যবহার করেন তবে লুকানো ফাইল এবং ফোল্ডার (যেমন .git!) প্রভাবিত নাও হতে পারে! তাই আপনি যদি উপরে না আপনার জন্য কাজ, ./.git জন্য কমান্ড সঞ্চালন করুন নেই পাশাপাশি
বেন Rogmans

54

সাধারণত এই সমস্যাটি আপনার গিট সার্ভার ফাইল-সিস্টেমে ভুল ব্যবহারকারী এবং গোষ্ঠী অনুমতিগুলির কারণে ঘটে। গিট সংগ্রহস্থলটির ব্যবহারকারী এবং তার গ্রুপের মালিকানা থাকতে হবে।

উদাহরণ:

যদি আপনার ব্যবহারকারীকে "গিট" বলা হয়, তার গোষ্ঠীটি "গিটগ্রুপ", এবং গিট রেপোর অবস্থান হ'ল: git@mygitserverxyz.com: পথ / থেকে / repo.git

তারপরে একটি করুন:

sudo chown -R git: gitgroup path / to / repo.git /

এটি আমার জন্য গিট অপর্যাপ্ত অনুমতি ত্রুটি স্থির করে।


চাওন: অবৈধ ব্যবহারকারী: `গিট: গিট '
অ্যালান করোমানো

4
@ মারিয়াসকভানস্কি চেষ্টা করুন $ ব্যবহারকারী: $ ব্যবহারকারী গিটের পরিবর্তে: গিট
ডুউরফ

এটি আমার ক্ষেত্রে কিছু সময়ের জন্য কাজ করে। কিছু ধাক্কা পরে আমি এটি আবার করতে হবে।
বুজড-ডিইইউ

এটি সেরা উত্তর, তবে আপনাকে বলা উচিত যে আপনি ".git / অবজেক্টস" এর মধ্যে আবদ্ধ হওয়া সীমাবদ্ধ করতে পারবেন এবং আপনি "গিট" নামক ব্যবহারকারীকে লগইন করেছেন কেবল সেই ব্যবহারকারী। গিটার সার্ভারের মাধ্যমে ব্যবহারকারী পরিচিত বা না জানা বিষয়টি গুরুত্বপূর্ণ নয়।
ত্রিস্তান

34
sudo chmod 777 -R .git/objects

4
এটি আমার পক্ষে কাজ করেছে ... তবে ডব্লিউটিএফ ?? আমি কয়েক মাস ধরে রেপো আপডেট করছি এবং হঠাৎ এই বিকেলে শুরু হয়েছে ...
GojiraDeMonstah

আমার জন্য ফিক্সটি প্রায় একই ছিল তবে .git ডিরেক্টরিতে কিছু ফাইলের মালিকের পরিবর্তন / সংশোধন করা জড়িত। 'রুট' হিসাবে লগ ইন করা অবস্থায় আমি কিছুটা গিটার রক্ষণাবেক্ষণ করেছি এবং এটি মনে হয় হয় মালিককে রুটে পরিণত করেছে বা গিটের উপর নির্ভর করে এমন রুটের মালিকের সাথে কিছু নতুন ফাইল তৈরি হয়েছে। আমার 'আপাচে' মালিকের অধীনে একটি অটো-ডিপ্লোয়মেন্ট স্ক্রিপ্ট ছিল যা কাজ শুরু করে।
কোটস্যাপ

9
chmod 777কখনও ভাল সমাধান নয়, কেবল একটি অনিরাপদ কাজ work পরিবর্তে @ সেটভেক্সের উত্তরটি চেষ্টা করুন (সেটগিড সহ)
4wk_

10

আমি চেষ্টা করার সময় আমার সাথে এটি ঘটেছিল git pull। কিছু বিশ্লেষণে দেখা গেছে যে কেউ অতীতে শিকড় নিয়ে কাজ করেছিল, এর ফলে রুটের মালিকানা সহ কিছু বস্তু তৈরি হয়েছিল .git/objects

তাই আমি দৌড়ে গেলাম

cd <repo>
la .git/objects/

এবং এটি rootএই জাতীয় কিছু ডিরেক্টরি (ডিরেক্টরি) এর মালিকানা দেখিয়েছিল :

user@host:/repo> la .git/objects/
total 540
drwxr-xr-x 135 user user 4096 Jun 16 16:29 .
drwxr-xr-x   8 user user 4096 Jun 16 16:33 ..
drwxr-xr-x   2 user user 4096 Mar  1 17:28 01
drwxr-xr-x   2 user user 4096 Mar  1 17:28 02
drwxr-xr-x   2 user user 4096 Jun 16 16:27 03
drwxr-xr-x   2 user user 4096 Mar  3 13:22 04
drwxr-xr-x   2 root root 4096 Jun 16 16:29 05
drwxr-xr-x   2 user user 4096 Jun 16 16:28 07
drwxr-xr-x   2 root root 4096 Jun 16 16:29 08

তখন আমি দৌড়ে গেলাম

sudo chown -R user:user .git/objects/

এবং এটা কাজ করে!

আমি অবশ্যই আমার আসল ব্যবহারকারীর সাথে ব্যবহারকারীকে প্রতিস্থাপন করছিলাম।


4

উপরের কিছুই আমার পক্ষে কাজ করেনি। কয়েক ঘন্টা পরে আমি সমস্যার কারণটি খুঁজে পেয়েছি: আমি টাইপের একটি রেপো ইউআরএল ব্যবহার করেছি

ssh://git@example.com/~git/repo.git

দুর্ভাগ্যক্রমে আমি একটি পুট্টি সেশন সংরক্ষণ করেছিলাম সেই নামটি example.comযা ব্যবহারকারী হিসাবে লগইন করার জন্য কনফিগার করা হয়েছিল myOtherUser

সুতরাং, যখন আমি ভেবেছিলাম যে গিটটি example.com'গিট' ব্যবহারকারীর সাথে হোস্টের সাথে সংযুক্ত রয়েছে, গিট / টরটোইজিট পুটি সেশনটির সাথে সংযুক্ত হয়ে গেছে example.comযা ব্যবহারকারী ব্যবহার করে myOtherUser। এটি ঠিক একই দিকে নিয়ে যায়..insufficient permission.. ত্রুটির (কারণ উভয় ব্যবহারকারীই বিভিন্ন গোষ্ঠীতে আছেন)।

সমাধান: পুনঃনামকরণ পুটিং অধিবেশন example.comথেকেmyOtherUse@example.com


4

chmod আবদ্ধ করা উচিত, সুতরাং সঠিক লাইনটি হ'ল:

sudo chown -R gituser:gituser objects

3

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


3

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

এ জাতীয় সমস্যা এড়াতে, দয়া করে নিশ্চিত করুন যে আপনি যখন আপনার গিট সংগ্রহস্থল শুরু করবেন, তখন "git init --shared = group" কমান্ডটি ব্যবহার করুন।


আরও ব্যাখ্যার জন্য আপনি লিংকটি দেখতে পারেন stackoverflow.com/questions/16183345/…
অরুণ চৌধুরী চৌধুরী

2

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

আমরা এসএসএইচ ব্যবহারকারীদের উমাস্কটি সমস্ত ব্যবহারকারীদের দ্বারা ভাগ করা একটি উপযুক্ত গ্রুপের সাথে 002 এ সেট করে এটি ঠিক করেছি।

যেমন

umask 002

যেখানে মাঝের 0 টি ডিফল্টভাবে গ্রুপ লেখার অনুমতি দিচ্ছে।


আপনি কি ইউনিক্স বা লিনাক্সে এই জাতীয় কমান্ডের বিষয়ে নিশ্চিত? কারণ আমি যথেষ্ট নিশ্চিত যে উমাস্ক অবস্থান-নির্দিষ্ট নয়।
জানু হুডেক

হ্যাঁ, আমি দুঃখিত আপনি ঠিক বলেছেন - আমি কেন জানি না যে এটির অতিরিক্ত ডিরেক্টরি প্যারামিটার রয়েছে I এটি কেবল ব্যবহারকারীর জন্য প্রযোজ্য। আমি মন্তব্য আপডেট করেছি।
scipilot

2

আপনি কিছু জিনিস যোগ করার পরে ... তাদের প্রতিশ্রুতিবদ্ধ এবং সর্বোপরি এটি ধাক্কা! Bang !! সমস্ত সমস্যা শুরু করুন ... আপনার লক্ষ্য করা উচিত যেভাবে নতুন এবং বিদ্যমান উভয় প্রকল্পের সংজ্ঞা দেওয়া হয়েছিল তাতে কিছু পার্থক্য রয়েছে। যদি অন্য কোনও ব্যক্তি একই ফাইলগুলি বা বিষয়বস্তু যুক্ত করতে / প্রতিশ্রুতিবদ্ধ / ধাক্কা দেওয়ার চেষ্টা করে (গিটটি উভয়কে একই জিনিস হিসাবে রাখে), তবে আমরা নিম্নলিখিত ত্রুটির মুখোমুখি হব:

$ git push
Counting objects: 31, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (21/21), 2.07 KiB | 0 bytes/s, done.
Total 21 (delta 12), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects  remote: fatal: failed to write object

এই সমস্যাটি সমাধান করার জন্য আপনার অপারেটিং সিস্টেমের অনুমতি সিস্টেমকে মনে রাখতে হবে কারণ আপনি এ ক্ষেত্রে এটি দ্বারা সীমাবদ্ধ। আপনি সমস্যাটি আরও ভালভাবে বুঝতে পারেন, এগিয়ে যান এবং আপনার গিট অবজেক্টের ফোল্ডার (.git / অবজেক্টস) দেখুন। আপনি সম্ভবত এরকম কিছু দেখতে পাবেন:

<your user_name>@<the machine name> objects]$ ls -la
total 200
drwxr-xr-x 25 <your user_name> <group_name> 2048 Feb 10 09:28 .
drwxr-xr-x  3 <his user_name> <group_name> 1024 Feb  3 15:06 ..
drwxr-xr-x  2 <his user_name> <group_name> 1024 Jan 31 13:39 02
drwxr-xr-x  2 <his user_name> <group_name> 1024 Feb  3 13:24 08

* মনে রাখবেন যে এই ফাইলগুলির অনুমতিগুলি কেবলমাত্র আপনার ব্যবহারকারীদের জন্যই মঞ্জুরিপ্রাপ্ত হয়েছিল, কেউ কখনই এটিকে পরিবর্তন করতে পারবে না ... *

Level       u   g   o
Permission rwx r-x ---
Binary     111 101 000
Octal       7   5   0

সমস্যা সমাধান করা

যদি আপনার কাছে সুপার ব্যবহারকারীর অনুমতি থাকে তবে আপনি এগিয়ে যেতে পারেন এবং পদক্ষেপ দুটি ব্যবহার করে নিজেই সমস্ত অনুমতি পরিবর্তন করতে পারেন, অন্য যে কোনও ক্ষেত্রে আপনাকে তাদের ব্যবহারকারীদের সাথে তৈরি অবজেক্টযুক্ত সমস্ত ব্যবহারকারীকে জিজ্ঞাসা করতে হবে, তারা কারা তা জানতে নীচের আদেশটি ব্যবহার করুন :

$ ls -la | awk '{print $3}' | sort -u 
<your user_name>
<his user_name>

এখন আপনাকে এবং সমস্ত ফাইলের মালিক ব্যবহারকারীদের এই ফাইলগুলির অনুমতিটি পরিবর্তন করতে হবে:

$ chmod -R 774 .

এর পরে আপনাকে একটি নতুন সম্পত্তি যুক্ত করতে হবে যা নতুন সংগ্রহস্থলের জন্য সমাপ্ত --shared = গোষ্ঠীর সমান, ডকুমেন্টেশন অনুসারে, এটি সংগ্রহস্থলকে দল-লিখনযোগ্য করে তোলে, এটি সম্পাদন করে:

$ git config core.sharedRepository group

https://coderwall.com/p/8b3ksg


2

নিম্নলিখিতগুলি করার চেষ্টা করুন:

আপনার সার্ভারে যান

    cd rep.git
    chmod -R g+ws *
    chgrp -R git *
    git config core.sharedRepository true

তারপরে আপনার কার্যকরী অনুলিপি (স্থানীয় সংগ্রহস্থল) এ যান এবং এটিকে পুনরায় পোস্ট করুন git repack master

আমার পুরোপুরি কাজ করে।


2

আপনি এটি ব্যবহার করতে পারেন

sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

1
এই কি করছে? আপনি একটি ব্যাখ্যা যোগ করতে পারেন?
অনুবিয়ান নুব

এটি আপনার রেপোর শীর্ষ স্তরের ডিরেক্টরিটি পাবেন, সুতরাং আপনার রেপো আপনি বর্তমানে যেখানেই থাকুক না কেন কমান্ডটি কাজ করবে। আপনি যদি ইতিমধ্যে মূলে থাকেন তবে আপনি কেবল sudo chown -R $ USER: $ USER .git
Tâm

আপনার প্রশ্নের মধ্যে এটি সম্পাদনা করুন। অন্যথায় আপনার প্রশ্নটি বেশ অকেজো।
অনুবিয়ান নুব

2
sudo su root

chown -R user:group dir

দির আপনার গিট রেপো।

তারপরে:

git pull origin master

আপনি অন্যের কমিট সম্পর্কে পরিবর্তনগুলি দেখতে পাবেন।



1

ঠিক আছে - দেখা যাচ্ছে এটি গিটিহাবের মধ্যে অনুমতি সংক্রান্ত সমস্যা ছিল যা ইমি / বিক্সো থেকে বিক্সো / বিক্সোর কাঁটার সময় ঘটেছিল। টেককুব একবার এগুলি ঠিক করে নিলে এটি আবার কাজ শুরু করে।


কি ঘটেছে এবং আপনি এটি ঠিক কিভাবে? আমি জানি কিছুক্ষণ আগে ... কোন ধারণা?
মেটাগ্রাফার

1
এটি গিটহাবের পক্ষে একটি সমস্যা ছিল - সুতরাং তারা ঠিক করতে ঠিক কী কাজ করেছিল তা আমি জানি না, কেবল গিটহাবের "টেককুব" বলেছিল "আমি অনুমতিগুলি স্থির করেছি" এবং তারপরে এটি কার্যকর হয়েছিল।
kkrugler

কুল। তথ্যের জন্য ধন্যবাদ। আমি রেপো ক্লোনিং আহত। সাবপটিমাল, তবে এটি কাজ করেছিল। চিয়ার্স!
মেটাগ্রাফার

4
আমরা, আহ, আমরা ভুলত্রুটি ঠিক করেছি । সুতরাং সে আর কোনও বেতন-চেক পাবে না, সুতরাং এটি কেবল প্রাকৃতিকভাবেই কাজ করবে।
অ্যালান

1

যেহেতু ত্রুটিটি অবজেক্ট ফোল্ডারে অনুমতি নিয়ে কাজ করে, তাই আমি অবজেক্ট ফোল্ডারে সরাসরি ডুব দিয়েছিলাম এবং এটি আমার পক্ষে কাজ করে।


1

এইটা কাজ করে:

sudo chmod -R gituser.gituser objects

1
নং chmodফাইলের অনুমতিগুলি পরিবর্তন করে এবং ব্যবহারকারী এবং গোষ্ঠী নয় বরং আর্গুমেন্ট হিসাবে মোডগুলির প্রয়োজন। এটি হয় এর chmod -R ${some_octal_num} blaবাchown -R ${some_user}:${some_group} bla
ডেনিস শীতকালীন

1

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

আমার সিটিকোম থেকে লিনাক্স এনএএস-এ আমার রেপো রয়েছে (সীতকোম থেকে কখনই এনএএস কিনবেন না, প্লিজিয়াজ)। আমার এখানে একটি রেপো রয়েছে যা অনেকগুলি কম্পিউটারে ক্লোন করা থাকে তবে যা হঠাৎ আমাকে ধাক্কা দেওয়া থেকে বঞ্চিত করা হয়েছিল। সম্প্রতি আমি একটি প্লাগইন ইনস্টল করেছি যাতে আমার এনএএস স্কিজেবক্স সার্ভার হিসাবে দাঁড়াতে পারে।

এই সার্ভারটি মিডিয়া ভাগ করে নেওয়ার জন্য স্ক্যান করে। আমি যা জানতাম না তা হ'ল, ত্রুটির কারণে সার্ভারটি ব্যবহারকারী এবং গোষ্ঠী সেটিংটিকে চেপে ধরে: সমস্ত ফাইলের জন্য ব্যবহারকারী এটি দেখায়। এবং এটি সমস্ত ফাইল। এইভাবে আমাকে যে ধাক্কা দিতে হয়েছিল তা পরিবর্তন করে।

সার্ভার চলে গেছে এবং যথাযথ অধিকার সেটিংস পুনরায় প্রতিষ্ঠিত হয়েছে এবং সবকিছু পুরোপুরি কার্যকর হয় works

আমি ব্যবহার করতাম

chmod -R g+ws *
chown -R <myuser>:<mygroup> *

যেখানে মাইউজার এবং মাইগ্রুপ অফ-কোর্সটি অবশ্যই আপনার সিস্টেমের জন্য উপযুক্ত সেটিংসের সাথে প্রতিস্থাপন করতে হবে। গিট: গিট বা গিটুজার: গিটুজার বা অন্য কিছু আপনার পছন্দ হতে পারে try


1

সংগ্রহস্থলটি পরীক্ষা করুন: it গিট দূরবর্তী -v v

origin  ssh://git@example.com:2283/srv/git/repo.git (fetch)
origin  ssh://git@example.com:2283/srv/git/repo.git (push)

মনে রাখবেন যে এখানে 'গিট @' সাবস্ট্রিং রয়েছে, এটি গিটকে দূরবর্তী সার্ভারে 'গিট' ব্যবহারকারীর নাম হিসাবে প্রমাণীকরণের নির্দেশ দেয়। যদি আপনি এই লাইনটি বাদ দেন তবে গিটটি বিভিন্ন ব্যবহারকারীর অধীনে প্রমাণীকরণ করবে, সুতরাং এই ত্রুটি ঘটবে।


1

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

ssh root@<remote_git_server>
usermod -G <remote_git_group> <your_remote_user>

এর পরে উপরের পোস্টগুলিতে বর্ণিত অনুমতিগুলির মতো চেক করুন ...


1

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

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