গিট চেকআউট সতর্কতা: ফাইলগুলি লিঙ্কমুক্ত করতে অক্ষম, অনুমতি অস্বীকৃত


109

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

মূল পার্থক্যটি হ'ল এটি তখন ঘটেছিল যখন আমি সাবমডিউলগুলির সাথে কোনওভাবেই व्यवहार করি না (আমি তাদের সাথে এর আগে কখনও আচরণ করি নি)। আমি 'আপগ্রেড' নামে একটি শাখা তৈরি করেছি, আমার পুরানো ফ্রেমওয়ার্ক ফাইলগুলি মুছে ফেলেছি এবং নতুনগুলিতে অনুলিপি করেছি। আমি গিট অ্যাড-এ ব্যবহার করেছি, তারপরে সবকিছু প্রতিশ্রুতিবদ্ধ। আমি যখন ট্রাঙ্ক শাখাটি চেকআউট করার চেষ্টা করেছি, এটি নিম্নলিখিত ত্রুটিগুলির সাথে প্রতিক্রিয়া জানিয়েছে:

warning: unable to unlink requirements/views/sk/index.php: Permission denied
warning: unable to unlink requirements/views/sv/index.php: Permission denied
warning: unable to unlink requirements/views/zh/index.php: Permission denied
warning: unable to unlink requirements/views/zh_cn/index.php: Permission denied
warning: unable to unlink requirements/views/zh_tw/index.php: Permission denied

... ইত্যাদি। তাদের শত শত আছে।

প্রথমে আমি ভেবেছিলাম এটি কেবল একটি অনুমতির সমস্যা, এবং তাই আমি পুনরাবৃত্তভাবে পুরো প্রয়োজনীয় ডিরেক্টরিতে গ্রুপ রাইটিংয়ের অনুমতি যুক্ত করেছি, কিন্তু কোনও পরিবর্তন হয়নি।

সম্পাদনা: নীচে একটি উত্তরে প্রস্তাবিত হিসাবে, আমি একই জিনিসটি করার চেষ্টা করেছি তবে সমস্ত কিছু বন্ধ হয়ে গেছে। আগের চেয়ে ভাগ্য আমার আর নেই।

এই সমস্যাটি বিশেষত দুর্বল হয়ে পড়েছে কারণ আমি স্বাভাবিক বিকাশে ফিরে আসতে ট্রাঙ্কে যেতে পারি না।



9
আমি এটি একটি সাধারণ দিয়ে সমাধান করেছিsudo chown -R username directory
স্টিফেন করউইন

উত্তর:


84

আমি সাধারণত এই ধরণের ত্রুটি দেখতে পাই যখন কোনও প্রক্রিয়া সেই ফাইলগুলির হ্যান্ডেলটি প্রকাশ না করে।

নিশ্চিত হয়ে নিন যে কিছুই চলছে না এবং তারপরে আবারও আপনার চেকআউট চেষ্টা করুন।

দ্রষ্টব্য: গিটটি যেভাবে ইনস্টল করা হয়েছে তার সাথে এটিও সম্পর্কিত হতে পারে (উইন্ডোজে, ইউএসএসি যদি এমএসএসজিট ইনস্টল করা থাকে C:\Programবা সমস্যা দেখা দিতে পারে তবে C:\Program Files" এমএসএসজিট - sh.exe - কাঁটাচামচ: অনুমতি প্রত্যাখ্যান - Vista 64 বিট " এবং এর 2 মন্তব্য) 437 সংখ্যা )

দ্রষ্টব্য: নীচে চিত্রিত হিসাবে , সমস্যার একটি সাধারণ অন্যান্য কারণ হ'ল ডিরেক্টরিতে ভুল সমস্যা (ভুল মালিক), অকারণে যে ফাইলটি লিঙ্কমুক্ত করা যায় না তা নয় not


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

3
@ প্যারাগন: এমনকি ইউনিক্সেও আপনার হ্যান্ডেল সংক্রান্ত সমস্যা থাকতে পারে। অন্যথায়, এটি কোনও প্রকারের অনুমতি সংক্রান্ত সমস্যা হওয়া উচিত। আপনি চেকআউট যদিও বাধ্য করতে সক্ষম হওয়া উচিত। git checkout -f master
ভনসি

2
আমার ক্ষেত্রে এটি +1 ছিল সক্রিয় ভিএম এর সাথে ফোল্ডার ভাগ করা যা হোস্ট সিস্টেমে গিটের মধ্যে ফাইলগুলি ফেলে দেওয়া নিষিদ্ধ করেছিল। আমাকে বাদাম চালাচ্ছে, তাই ইঙ্গিতটির জন্য ধন্যবাদ!
Jook

1
একই সমস্যা। চলমান প্রক্রিয়া এক্সপ্লোরার> Ctrl + F> <ফাইল নাম> - প্রক্রিয়া প্রদর্শিত হবে, যা এই ফাইলটি খোলা রাখে।
setevoy

1
সমস্ত আনার চেষ্টা করার সময় গিটএক্সটেনশনগুলি এই ত্রুটিটি প্রদর্শন করেছিল ... আমারও গিটক্রেন খোলা ছিল। একবার আমি গিটক্রেনকে ফিরিয়ে আনতে সমস্ত ত্রুটি ছাড়াই কাজ করে।
mkaj

99

এই ত্রুটির সাথে আমার প্রথম মুখোমুখি হওয়াতে আমার ব্যবহারকারীর ফাইলটিতে "লিখন" করার অধিকার ছিল তবে এতে থাকা ডিরেক্টরিটি নেই। ডিরেক্টরিযুক্ত ফাইলের অনুমতিগুলি পরীক্ষা করুন।


95
ওহ আমার, খুব মজার, আমি আজই এই উত্তরটি পেরিয়ে এসেছি এবং তখন বুঝতে পারি এটি আমার নিজের! তবুও, এটি আবার কাজ!
এলিজা লিন

ঠিক আছে, উইন্ডোজ 10 এ এটি আমার কাছে খুশি, আমি মূল প্রকল্প ফোল্ডারে যাই। এবং সমস্ত সম্ভাব্য ব্যবহারকারীর জন্য, সমস্ত অনুমতি যুক্ত করুন। সুতরাং সিস্টেম, প্রশাসক, ব্যবহারকারী, সমস্ত সম্ভাবনার জন্য। Chnages প্রয়োগ করুন। এবং এটি কাজ করছে বলে মনে হচ্ছে, উইন্ডোজ 10 আপডেটের সাথে হয়ত আমরা নতুন ব্যবহারকারী তৈরি না করলেও, অনুমতি ছাড়া আমাদের নতুনটির মতো ছুঁড়ে ফেলা হবে। উদাহরণস্বরূপ আমার কিছু অস্পষ্ট নাম S-1-15-32 আছে ..... লগইন নামটি নয় যা আমরা যখন আমাদের ল্যাপটপটি আনলক করি তখন have
সাইকেলেডিক্স সাবস্ট্যান্স

30

"লিঙ্কমুক্ত" এর অর্থ এই ক্ষেত্রে "ফাইল মুছুন" "

এই ত্রুটিটি গিট নিজেই তৈরি করে না। কমান্ড লাইন বা ফাইল এক্সপ্লোরারে ম্যানুয়ালি সেই ফাইলগুলি মুছতে আপনার একইরকম ত্রুটি থাকা উচিত।


18
এই ত্রুটির সাথে আমার প্রথম মুখোমুখি হওয়াতে আমার ব্যবহারকারীর ফাইলটিতে "লেখার" অধিকার ছিল কিন্তু ধারণকৃত ডিরেক্টরিটি তা পায় নি।
এলিজা লিন

3
@ এলিজা: আপনাকে ধন্যবাদ! এটা আমার জন্য ছিল।
জেসি লি

4
আমার ক্ষেত্রে আমি দেখতে পেয়েছি যে প্রশ্নযুক্ত ফাইলটি অন্য একটি অ্যাপ্লিকেশন দ্বারা লক করা হয়েছিল। অ্যাপ্লিকেশনটি বন্ধ করে দেওয়া ফাইলটি মুক্ত করে এবং চেকআউটটি এগিয়ে যাওয়ার অনুমতি দেয়।
সাইমন তেউসি

25

আপনার অ্যাক্সেসের অনুমতি নেই, কারণ আপনি মালিক নন।

মালিককে নিজের কাছে পরিবর্তন করে ঠিক করুন:

sudo chown -R your_login_name /path/to/folder

2
আমার স্থানীয় বিকাশ মেশিনে, প্রশ্নযুক্ত ফাইলগুলি মূলত আমার স্থানীয় অ্যাপাচি সার্ভার দ্বারা তৈরি করা হয়েছিল, তাই www-ডেটা ব্যবহারকারীর মালিকানাধীন ছিল। একবার আমি তাদের নিজের অ্যাকাউন্টে ছুঁড়ে ফেললে সবকিছু আবার স্বাভাবিকভাবে কাজ করে। "অনুমতি অস্বীকার" হ'ল আসল বিষয়টি। "আনলিক করতে অক্ষম" ছিল কেবল একটি লাল রঙের হারিং।
ডেল অ্যান্ডারসন

23

আমার ডিফল্ট-সেটিংস.এইচপিপি ফাইলটি ড্রুপাল with এ সমস্যাটি ছিল আমি এই ক্ষেত্রে আমি এটি মুছতে বা পুনরায় ফিরিয়ে দিতে সক্ষম হইনি ঠিক যেমন @ আর্টকোনার বলেছিলেন। আমার কাছে এই ফাইলটি ব্যবহার করে কোনও অ্যাপ্লিকেশন বা কিছুই ছিল না এবং এটি অনুমতি ত্রুটি হয়ে শেষ হয়েছিল।

আমি chmod 777 *ফোল্ডারে যুক্ত করেছি এবং তারপরে আমি এটিকে কোনও সমস্যায় ফেরাতে সক্ষম হয়েছি।


3
আপনি হয়ত 777কোনও ফোল্ডারে নাও চাইবেন । এটি আমার সমস্যার সমাধান করেছিল, তবে আমি তা সমাধানের পরে দ্রুত এটিকে আবার ডিফল্টে পরিবর্তন করেছি। ধন্যবাদ!
ব্রাম

13

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

sudo chmod -R ug+w . 

এই কমান্ডটি 'w'বর্তমান ডিরেক্টরিতে সমস্ত ফোল্ডারকে অনুমতি দেবে।


6

আমি যখনই আমার ওএস এক্স মেশিনগুলিতে "গিট রিপ্যাক" বা "গিট জিসি" চালাচ্ছি তখনও প্রশাসনের সুযোগ-সুবিধাগুলি নিয়ে গিট চালানোর সময় আমি এই সমস্যার মধ্যে পড়েছিলাম এবং শেষ পর্যন্ত আমি এই পৃষ্ঠাটি পেরিয়ে আসার পরে সমাধান করেছি: http://hints.macworld.com /comment.php?mode=view&cid=1734

ফিক্সটি হ'ল টার্মিনালটি খোলার জন্য, আপনার গিট রেপোতে গিয়ে .git ফোল্ডারে সিডি করুন এবং তারপরে:

chflags -R nouchg *

যদি এটি সমস্যা ছিল তবে তার পরে আপনার গিট কমান্ডগুলি স্বাভাবিক হিসাবে কাজ করবে।


1
ম্যাকওয়ার্ড লিঙ্কটি আর বৈধ নয়। এখানে একটি আপডেট সুত্র এর superuser.com/a/40754
Webb

5

এটি যখন হতে পারে তখন:

  1. আপনি একটি ডকারের ধারকের ভিতরে একটি প্রক্রিয়া চালিয়েছেন এবং:

  2. কিছু ফাইল সেই প্রক্রিয়াটির দ্বারা উত্পাদিত হয়েছিল এবং:

  3. ফাইলগুলির গন্তব্যটি ডকার হোস্টে একটি ভলিউম হিসাবে মাউন্ট করা হয়েছে এবং:

  4. আপনি gitডকার হোস্টে চলছে ।


যদি এটি হয় তবে আপনি যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ করতে চান এবং পরিচালনা করতে চান সেটি স্টেজ করুন:

git diff --name-only --cached | xargs ls -l 

উপরোক্ত মানদণ্ডগুলি পূরণ করে এমন ফাইলগুলি এর সাথে উপসর্গ করা হবে:

-rw-r--r-- 1 root root ...

এগুলি মালিকানাধীন rootএবং লিখিতযোগ্য নয়, যা ভাল নয়। এই রানটি ঠিক করতে:

 git diff --name-only --cached | xargs -i sh -c 'sudo chown $USER:$USER {}; chmod +w {}'

একটি ক্লিনার সমাধান সম্ভবত --userবিকল্পটি ব্যবহার করা হবে, এটি ডকারের জন্য এবং এটি ডকার রচনার জন্য দেখুন


4

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


ঐটা এটা ছিল. অ্যান্ড্রয়েড বিকাশের সাথে ঘটেছিল, যেমন অ্যান্ড্রয়েডস্টুডিও হ'ল ইন্টেলিজ।
পুনরায়হার্ড

2

আমার ক্ষেত্রে এটি ফোল্ডারের নামের একটি ":" অক্ষর ছিল উইন্ডোতে চেকআউট করার জন্য গিট রেপোটিকে প্রতিরোধ করে।


2

ম্যাক টার্মিনাল এ আমি এই কাজ

sudo গিট চেকআউট। (সমস্ত কিছু পরিষ্কার করতে)

এবং তারপর

sudo গিট টান উত্স


2

ভার্চুয়াল মেশিনের (উবুন্টু চালানো) ভিতরে আমার এই ত্রুটি ছিল, যখন আমি চেষ্টা করার চেষ্টা করেছি git reset --hard

git reset --hardপরিবর্তে কেবল ওএস এক্স হোস্ট মেশিন থেকে চালানো হয়েছিল।


1

অন্য কোনও পরামর্শই আমার পক্ষে কাজ করেনি, তবে এটি করেছে:

sudo git reflog expire --expire=now --all && sudo git gc --prune=now --aggressive


1

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

আমার সমাধান হ'ল ড্রপবক্স ছেড়ে যাওয়া এবং তাই ড্রপবক্সের ফাইল সিঙ্কের নেপথ্যে পর্দার জাদু এড়ানো।


0

আমি এই ত্রুটি সম্মুখীন এবং এটি ভুল দ্বারা ঘটিত হয় "মালিক / গ্রুপ" এর ফাইল / ফোল্ডার । এই ফাইল / ফোল্ডারের "মালিক / গ্রুপ" পরিবর্তন করতে আপনাকে অবশ্যই আপনার সার্ভার প্রশাসকের কাছে সহায়তা চাইতে হবে এবং "গিট টান" ব্যবহার করে আবার চেষ্টা করুন ry বা আপনি যদি একটি sudoer হয়, কেবল sudo "আপনার মালিকের নাম / আপনার গ্রুপের নাম" ছাঁটাই করুন এবং আবার আপনার ভাণ্ডার টানতে চেষ্টা করুন। এটি চেষ্টা করুন, এটি আমার কাছে 100% কাজ করে!


0

নিশ্চিত করুন যে কোনও সম্পর্কিত প্রক্রিয়া বা থ্রেড চলছে না এবং শেষ কাজটি সম্পাদন করছে বা প্রয়োজনীয় হিসাবে প্রস্থান ছাড়বে।

আপনি মালিকানার অনুমতি পরিবর্তন করেছেন তা নিশ্চিত করুন।


0

শুধু সাধারণভাবে এই কিছু ঘটে তাহলে উইন্ডোজ , এবং আপনি ব্যবহার করছেন tortoisegit , এটা মর্যাদা ক্যাশে tortoisegit । এই প্রক্রিয়াটি হত্যা করুন এবং এটি মুক্ত করা হবে।


আপনি আসলে টর্টোসজিটের স্থিতি ক্যাশে সম্পূর্ণরূপে অক্ষম করতে পারেন এবং এটি সাধারণত এমন কিছু যা আমি সুপারিশ করব। এটি প্রায়শই অনেকগুলি অপ্রত্যাশিত ফাইল লক হওয়ার কারণ হয়ে থাকে এবং এটি তখন বেশি মূল্যবান হয়ে ওঠে। git statusপরিবর্তে কমান্ড লাইন থেকে ব্যবহার করুন।

0

আমাকে কেবল উবুন্টু থেকে আমার আসল ব্যবহারকারীর নামের সাথে স্যুইচ করতে হয়েছিল যে আমি প্রথমে স্টাফগুলি করেছি done এটা এটি স্থির।


এবং উইন্ডোজ ব্যবহারকারীদের সম্পর্কে কি?
হের নেন্টু '

ওপি ছিল উবুন্টুতে। আমি উইন্ডোজ থ্রেডে মন্তব্য করতাম না।
মার্চ

0

সর্বদা অ্যাডমিন মোডে চলার জন্য আমার গিট ক্লায়েন্ট (গিট এক্সটেনশনস) সেট করে আমার জন্য সমাধান করা হয়েছে।


0

IntelliJ(14.1.3 আলটিমেট) ব্যবহার করার সময় আমার এই সমস্যাটি ছিল , আমি কিছু ফাইলের পরিবর্তনগুলি ফিরিয়ে নিতে চেয়েছিলাম।

Git Bashঅন্য উইন্ডোতে খোলা বন্ধ করে সমাধান করা - কাজ করে আরও একটি রিভার্ট ট্রায়াল IntelliJ


0

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



0

আপনাকে যা করার দরকার তা হ'ল অনুমতি প্রদান করা, আপনার প্রকল্পের মূল থেকে নীচের আদেশটি চালান:

    chmod ug+w <directory path>

0

আমার একই সমস্যা ছিল, আমি অন্যদের পরামর্শ মতো কয়েকটি বিকল্প চেষ্টা করেছি।

তবে অবশেষে .git ফোল্ডারে সমস্যাগুলি সমাধান করার জন্য সঠিক অনুমতি দেওয়া।

sudo chown -R "${USER:-$(id -un)}" .git

0

আমার ক্ষেত্রে www-dataমালিক হিসাবে সেট হয়ে অনুমতি সমস্যার সমাধান হয়েছে :

chown -R www-data project_folder_name

0

আমি মনে করি এটি আপনার ফাইল অনুমতি সম্পর্কে:

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