গিট 'মারাত্মক: নতুন সূচী ফাইলটি লিখতে অক্ষম'


128

আমি এই সম্পর্কে অন্যান্য থ্রেড অনেক দেখেছি এবং তারা সাহায্য করে না।

আমার কাছে খুব সাধারণ রেপো আছে - দুটি জাভাস্ক্রিপ্ট ফাইল। আমার কাছে ম্যাকবুকটিতে 100+ জিবি রয়েছে। যখন আমি স্থানীয়ভাবে স্থানীয় ডিরেক্টরিগুলিকে একটি উপ-ডিরেক্টরি এবং মঞ্চে স্থানান্তরিত করার চেষ্টা করি ...

মারাত্মক: নতুন সূচি ফাইলটি লিখতে অক্ষম

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

এটি কেন ঘটছে? লক কি মঞ্চায়ন থেকে কিছু প্রতিরোধ করছে? যদি তা হয় তবে আমি কীভাবে / কীভাবে ওএস এক্স-তে সমস্যা ফাইলটি আনলক করব ?? রিমোট রেপো হ'ল গুগল কোড, যদি এটি কোনও পার্থক্য করে তবে আমি এখনও রিমোটে চাপ দিচ্ছি না। সবকিছু স্থানীয়।


নিশ্চিত না যে এটির পরিবর্তে সুপারউজারে যাওয়া উচিত ?
এমএমএম

অ্যাক্সেস রাইটস নিয়ে সম্ভবত সমস্যা (ব্যবহারকারী চলমান
গিটের রেপোতে

এসও এবং এসইউতে এটি সম্পর্কে থ্রেড রয়েছে। আমি মনে করি প্রশ্ন উভয় ক্ষেত্রে সমানভাবে ভাল কাজ করে। নেভিক, ./gitফোল্ডার সহ রেপোর জন্য অনুমতিগুলি 777 ।
জেফ

আপনি কখন এই সমস্যাটি দেখতে পাচ্ছেন? আপনি যখন "গিট এমভি" বা "গিট অ্যাড" করেন?
ময়ুর নাগেকার

উত্তর:


221

আমার ক্ষেত্রে, ডিস্কটি স্থানের বাইরে চলে গেছে, তাই আমাকে জায়গা তৈরি করতে হার্ড ড্রাইভ থেকে ফাইলগুলি মুছতে হয়েছিল।


64

গত কয়েকদিন ধরে আমার একই সমস্যা হচ্ছে। মূলত, আমার অজান্তেই পুরো রেপো একটি নতুন ফাইল সিস্টেমে চলে গিয়েছিল, যখন আমি গিট স্ট্যাটাস চালানোর চেষ্টা করছিলাম, হঠাৎ করে জানাচ্ছিল যে রেপোটির প্রতিটি ফাইলই সজ্জিত ছিল।

সম্ভাব্য সমাধান

সুতরাং, অনেক গুগল স্কাউরিংয়ের পরে, আমি নিম্নলিখিতগুলি চেষ্টা করেছি:

  • পরিবর্তন .git অনুমতি (একই সমস্যা)
  • .git / সূচক অনুমতিগুলি পরিবর্তন করা (একই সমস্যা)
  • গিট অ্যাড-আইং সব পরিবর্তন করতে প্রতিশ্রুতিবদ্ধ (একই সমস্যা)
  • গিট আরএম-আইং মুছে ফেলা ফাইলগুলি, যেহেতু তারা ফাইলের নামটি অনেক দীর্ঘ ত্রুটি হিসাবে রিপোর্ট করেছিল (একই সমস্যা)
  • গিট রিসেট (নরম | মাথা | হার্ড) (একই সমস্যা)
  • গিট ক্লিন (একই সমস্যা)
  • উইন্ডোজ ডিফেন্ডার বন্ধ করা হচ্ছে (একই সমস্যা)
  • গিট আপডেট করা (একই সমস্যা)
  • বিভিন্ন গিট ক্লায়েন্ট (আমি গিটব্যাশ ব্যবহার করি) (একই সমস্যা)
  • 1 এর পরিবর্তে 2 টি কফি পান করছেন (একই সমস্যা)

tl: dr - নোংরা সমাধান

সমস্যাটি সমাধান করতে পরিচালিত একমাত্র জিনিসটি হ'ল সূচি ফাইলটি অনুলিপি করা, আসলটি মোছা এবং অনুলিপিটির নতুন নামকরণ।

আমি জানি এটি আসলে কোনও 'সমাধান' নয় তবে এখন এর যাদুতে কাজ করছে <<সমস্ত ফাইল / শাখা অক্ষত। কারও কারও জানা থাকলে কেন এই কাজ হতে পারে তা বলুন।


82
আর একটি কারণ খুঁজে পেয়েছে: আপনার ডিস্কের জায়গার বাইরে থাকতে পারে।
lennartcl

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

3
গুগল ড্রাইভ সম্পর্কে পরামর্শ দেওয়ার জন্য ধন্যবাদ। আমার একই সমস্যা ছিল, তবে ড্রপবক্সের সাথে।
hgolov

1
পুনরায় আরম্ভ আমার জন্য কাজ। আধ টি ফাঁকা, 22 টিবি শেয়ার করা ড্রাইভে কাজ করা, তাই জায়গা কোনও সমস্যা ছিল না।
ওয়েন এফ ক্যাসকি

1
আপনার "নোংরা সমাধান" আমার পক্ষে কাজ করেছে (পূর্ববর্তী সূচী ফাইলে ফিরে এসেছিল, এরপরে সমস্ত পরিবর্তন পুনরায় যুক্ত এবং পুনরায় প্রতিশ্রুতিবদ্ধ)
বিশ্বাস_গ্রাহ্য

19

আমার ক্ষেত্রে, ড্রপবক্স সিঙ্কটি থামানো সমস্যার সমাধান করেছে


17

আমি একটি ম্যাক একই সমস্যা ছিল। এটি ফাইল সিস্টেম এসিএল দ্বারা সৃষ্ট বলে মনে হচ্ছে। chmod -RN /path/to/repoএসিএলগুলি সাফ করার চেষ্টা করুন । এটি করার পরে আমি পরিবর্তনগুলি করতে সক্ষম হয়েছি। সূচি ফাইলটি অনুলিপি করার জন্য কৌশলটি ব্যবহার করে মূলটি মুছুন এবং অনুলিপিটি একই ফলাফলকে সরিয়ে নিয়ে যান।


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

17

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


এটি আমার জন্য কাজ করা সমাধান। ধন্যবাদ!
ম্যাকনডো

7

আমার সাথে এটি ঘটেছিল যে ফাইলটি .git / সূচকটি অন্য একটি প্রক্রিয়া দ্বারা ব্যবহৃত হয়েছিল (আমার স্থানীয় উন্নয়ন ওয়েব সার্ভার)। আমি প্রক্রিয়াটি বন্ধ করে দিয়েছিলাম এবং তারপরে এটি কার্যকর হয়েছিল।


6

ভিজ্যুয়াল স্টুডিও কোডটি বন্ধ করা (আমার ক্ষেত্রে ফাইল-সেভের ক্ষেত্রে একটি স্বয়ংক্রিয়-আপলোডার ব্যাকগ্রাউন্ড জব রয়েছে) আমার জন্য সমস্যাটি সমাধান করেছে।

সমাধানের জন্য ক্রেডিট: আমার বন্ধু এবং সহকর্মী আর্নেল।


আমি যে নোডজেএস সার্ভারটি বন্ধ করে দিয়েছি যেখানে আমার কৌণিক জে অ্যাপ্লিকেশনটি চলছে এবং সূচিটি আনলক করা হয়েছে
রাদু লিনু


6

আমার ক্ষেত্রে, সমাধানটি কেবলমাত্র নতুন ব্যবহারকারীর অনুমতি যোগ করছিল।

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


3

আমার .git ফোল্ডারে সমস্ত ফাইলের সাথে ACL (কোনওভাবে) সংযুক্ত ছিল attached

ls -le.Git ফোল্ডারে এটি দিয়ে পরীক্ষা করুন ।

আপনি chmod -N(একটি ফোল্ডার / ফাইলের জন্য) বা chmod -RN(পুনরাবৃত্ত) এর সাথে এসিএলটি সরিয়ে ফেলতে পারেন


3

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


2

আমার ক্ষেত্রে এটি একযোগে চলমান EGit ছিল। গ্রহনটি পুনঃসূচনা করার পরে এটি যথারীতি কাজ করে।


প্রশ্নটি হচ্ছে 'ত্রুটির বার্তাটি কেন ঘটছে?' এবং এই উত্তরটি আরও একটি সম্ভাব্য কারণ বর্ণনা করে।
রবিউমার

2

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


2

পর্যাপ্ত জায়গা না থাকা একটি বিষয়। পরিষ্কার এবং আবার চেষ্টা করুন


2

আমারও একই সমস্যা ছিল। আমি আমার কম্পিউটার পুনরায় চালু করেছি এবং সমস্যাটি সমাধান হয়ে গেছে।


1

আপনি কি 'গিট অ্যাড' চেষ্টা করেছিলেন? । এটা সব পরিবর্তন হবে? (আপনি গিট রিসেট হেডের মাধ্যমে অপ্রয়োজনীয় যুক্ত ফাইলগুলি সরিয়ে ফেলতে পারেন)


1

ত্রুটি বার্তার fatal: Unable to write new index fileঅর্থ হ'ল আমরা গিট ইনডেক্স ফাইলটিতে নতুন সামগ্রীটি লিখতে পারিনি .git\index( গিট সূচক সম্পর্কে আরও তথ্যের জন্য এখানে দেখুন )। এই প্রশ্নের সমস্ত উত্তর পর্যালোচনা করার পরে, আমি নিম্নলিখিত মূল কারণগুলি সংক্ষিপ্ত করছি:

  • নতুন সামগ্রীর আকার ডিস্কের উপলব্ধ ক্ষমতা ছাড়িয়ে গেছে। ( সমাধান : ডিস্কের স্পেসগুলি পরিষ্কার করুন)
  • এই ফাইলটিতে ব্যবহারকারীদের অ্যাক্সেস নেই। ( সমাধান : অনুমতি দিন)
  • ব্যবহারকারীর অনুমতি .git\indexথাকলেও অন্যান্য ব্যবহারকারী বা প্রক্রিয়াগুলি দ্বারা লক থাকে। ( সমাধান : ফাইলটি আনলক করুন)

উইন্ডোতে কোন প্রক্রিয়াটি কোনও ফাইল বা ফোল্ডার লক করছে তা লিঙ্কটি সুনির্দিষ্ট ফাইলটি লক করছে এমন প্রক্রিয়াটি অনুসন্ধানের জন্য নিম্নলিখিত পদ্ধতিটি নির্দিষ্ট করে:

সিসইন্টার্নালস প্রসেস এক্সপ্লোরার - অনুসন্ধান> হ্যান্ডেল বা ডিএলএল অনুসন্ধান করুন এ যান। "হ্যান্ডেল বা ডিএলএল সাবস্ট্রিং:" পাঠ্য বাক্সে, ফাইলটির পাথ টাইপ করুন (যেমন "সি: \ পাথ \ থেকে। File.txt") এবং "অনুসন্ধান" ক্লিক করুন click সেই ফাইলের ওপেন হ্যান্ডেল রয়েছে এমন সমস্ত প্রক্রিয়া তালিকাভুক্ত করা উচিত।

কোন প্রক্রিয়াটি লক হয়েছে তা অনুসন্ধান করার জন্য উপরের পদ্ধতির ব্যবহার করুন .git\indexএবং তারপরে লকিং কার্যকর করা বন্ধ করুন। এটি আনলক করে .git\index

উদাহরণস্বরূপ, প্রক্রিয়া এক্সপ্লোরার অনুসন্ধান অনুষ্ঠান .git\indexদ্বারা লক করা আছে vmware-vmx.exe। ভিএমওয়্যার প্লেয়ার ভার্চুয়াল মেশিন স্থগিত করা (যা ভাগ করা ফোল্ডারের মাধ্যমে গিট রেপো অ্যাক্সেস করেছে) সমস্যাটি সমাধান করেছে।


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

@ সমস্ত, আমি আপনার পরামর্শ অনুসারে আমার উত্তর আপডেট করেছি।
ফ্যান

0

যদি আপনি এই সময়ের মধ্যে একটি প্রত্যাশা পান তবে:

এটি সম্ভবত আপনার রেপোর ইনডেক্স ফাইলের কোনও সফ্টওয়্যার লক করার কারণে ঘটেছিল যেমন ব্যাকআপ সফ্টওয়্যার, অ্যান্টি-ভাইরাস, আইডিই বা অন্যান্য গিট ক্লায়েন্ট।

বেশিরভাগ ক্ষেত্রে লকটি কেবল একটি সংক্ষিপ্ত মুহুর্তের জন্য থাকে এবং তাই এটি খারাপ-সময় এবং দুর্ভাগ্যের কারণে ঘটে।

তবে git rebase --continueপরবর্তী কমান্ডটি শূন্য প্রতিশ্রুতিবদ্ধ হওয়ার বিষয়ে অভিযোগ করবে:

The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

এটি ঠিক করতে, কেবল চালান git resetএবং git rebase --continueআবার চেষ্টা করুন ।


0

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

সমাধানটি আমি চেষ্টা করেছি: এক্সওয়াইজেডের গিট অ্যাক্সেস রয়েছে, সুডোর সাথে ফাইলগুলি পরীক্ষা করার চেষ্টা করা হয়েছে এবং এটি কার্যকর হয়েছে .. !!


0

আমার জন্য যা কাজ করেছে তা এখানে:

প্রসঙ্গ:

  1. একটি সার্ভারে একটি প্রকল্প নির্মাণ

  2. git status ফেরত a HEAD detached at <commit-SHA>

  3. স্থানীয়ভাবে আমি কখনই অপারেশন করেছি, আমার এই ত্রুটি ছিল। আরো নির্দিষ্টভাবে:

    • গিট চেকআউট
    • গিট রিসেট হেড --হাড়্ড

সমাধান

  1. কেবল সরানো ফাইল <work-dir>/.git/index
  2. একটি git statusইঙ্গিত দেয় যে প্রজেক্টের সমস্ত ফাইল ট্র্যাক করা হয়নি (এখানে কোনও আশ্চর্যের কিছু নেই)।
  3. git reset HEAD --hard
  4. HEAD detached at <commit-SHA>একটি করার সময় ফিরে যান git status, তবে তারপরে আপনার সক্ষম হওয়া উচিত
  5. git checkout <some-branch>

এবং আপনি আবার ট্র্যাক এ এসেছেন!

!! গুরুত্বপূর্ণ !!

এটি কেবলমাত্র "বিলুপ্ত" বিল্ডিংয়ের কারণে কাজ করে। কোডটিতে কোনও মূল্যবান পরিবর্তন করা হয়নি। আপনি যদি আসলে "ডেভ-টাইম" এ থাকেন তবে আমি প্রথমে আপনার কাজটি সংরক্ষণ করার জন্য পুনরায় সুপারিশ করব বা অন্য কোনও পদ্ধতিতে যাব।

আশা করি এটি সাহায্য করবে :)।


0

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

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

অন্য সময় আমাকে .git ফোল্ডার থেকে "সূচক" ফাইলটি মুছতে হয়েছিল


0

আমার কেসটি কিছুটা আকর্ষণীয়:

আমি একটি নির্দিষ্ট প্রতিশ্রুতি পরীক্ষা করতে গিট লগ চালাই, তারপরে আমি এটি সঠিকভাবে ছাড়িনি, আমি এটি থেকে বেরিয়ে আসার জন্য ctrl + c টিপছি।

তারপরে সূচকটি লক হয়ে গেছে বলে মনে হচ্ছে। সুতরাং আমি আবার গিট লগ চালাচ্ছি, তারপরে এটি টিপতে Q টিপুন।

সমস্যা স্থির। :)


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