গিট - মারাত্মক: '/path/my_project/.git/index.lock' তৈরি করতে অক্ষম: ফাইল বিদ্যমান


803

আমি এখনও এই ত্রুটি বার্তাটি পাচ্ছি, যখন আমি আমার প্রকল্প গাছটিকে গিট রেপোতে সরানোর চেষ্টা করি।

আমি এই প্রকল্পের সাথে আমার ডিরেক্টরিগুলির অনুমতিগুলি পরীক্ষা করেছি এবং সেগুলি 777 এ সেট করা আছে my_projectI আমি যে ডিরেক্টরিটি দিয়েছি সে ডিরেক্টরিতে টার্মিনালে :

গিট ইনিশ

এবং তারপরে যদি আমি চেষ্টা করি

গিট অ্যাড

অথবা

গিট কমিট - এম "প্রথম আপলোড"

সুতরাং আমি ত্রুটি পেতে হবে

fatal: Unable to create '/path/my_proj/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

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

সমস্যার কারণ কী?


1
আমার এই সমস্যাটি ছিল কারণ আমি একটি ভিন্ন টার্মিনালে সু-এর সাথে লগ ইন করেছি, প্রথমটিতে ফিরে গিয়ে সবকিছু ঠিকঠাক হয়ে গেছে
maazza


3
ভাই আমারও একই সমস্যা ছিল, "গিট অ্যাড। বা গিট কমিট-এম" "প্রথম আপলোড" "এর পরিবর্তে" সুডো গিট অ্যাড। বা গিট কমিট-এম "প্রথম আপলোড" ব্যবহার করুন
মেহেদি জাহান ২

আমি এটা প্রতি .git ফাইলে অনুমতি পরিবর্তন করে সংশোধন করা হয়েছে পেয়েছিলাম stackoverflow.com/questions/14127255/... , Mahshid Zeinaly থেকে উত্তর পড়ুন
vikramvi

উত্তর:


1736

চেষ্টা

rm -f ./.git/index.lock

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


7
এটি স্বয়ংক্রিয়ভাবে ঘটে না। git pushওয়েব সার্ভারে আপনার পরিবর্তনগুলি ঠেকাতে আপনাকে কমান্ডটি কার্যকর করতে হবে । এটি এখানে কীভাবে কাজ করে তা সম্পর্কে বিশদ: gitready.com/beginner/2009/01/21/pushing-and-pulling.html
রাফেল আর।

9
আমার ঠিক একই সমস্যা হচ্ছে তবে আমি এটিকে সমাধান করতে পারছি না কারণ .git / index.lock ফাইলটি উপস্থিত নেই বলে মনে করে: touch .get/index.lockরিটার্নtouch: .get/index.lock: No such file or directory
ইমারসন্থিস

24
ইমারসন, আপনি .git এর পরিবর্তে .get খুঁজছেন বলে মনে হচ্ছে যা উপস্থিত থাকবে না।
এপি

3
অনুমতি অস্বীকার করার অর্থ আপনি যে ব্যবহারকারীকে ফাইলে পড়ার / লেখার অনুমতি নিয়ে গিট ব্যবহার করছেন তা আপনাকে দিতে হবে। Chmod কমান্ডটি পরীক্ষা করুন (* নিক্স বা বৈশিষ্ট্যগুলিতে ->
উইন্ডোতে

9
যদি আপনার ত্রুটি "অনুমতি অস্বীকৃত" বলে, আপনি সম্ভবত অন্য কোথাও ফাইলগুলি অনুলিপি করেছেন এবং .git ডিরেক্টরিতে অনুমতি নেই। ls -lঅনুমতিগুলি দেখতে ব্যবহার করুন , তারপরে ব্যবহার করুন sudo chown -R username ./*এবং sudo chgrp -R username ./*প্রকল্পের সমস্ত ফাইলের জন্য ব্যবহারকারী এবং গোষ্ঠীটিকে আপনার নিজের থেকে পরিবর্তন করুন।
চেচ করুন

158

উইন্ডোতে, রেপো ডিরেক্টরি থেকে কমান্ড প্রম্পটে এটি করুন:

cd .git
del index.lock

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


3
আশ্চর্যজনকভাবে যথেষ্ট, আমি ফাইলটি সম্পর্কে ত্রুটি পেয়েছি তবে তারপরে যখন আমি cmd.exe ফাইলটি মুছতে চেষ্টা করি তখন এটি ফাইলটি খুঁজে পায় নি বলে জানায়: পরম এবং আপেক্ষিক পথগুলির সাথে একই ফলাফল। তবে rm -f index.lock
গিত

আমার ক্ষেত্রে, আমি সোর্সট্রির কয়েকটা পুনরায় আরম্ভ করার পরে "ফ্যাচ" কার্যকর করেছি এবং কাজ করেছি।
ম্যাক্সিভিস

32

এক্সকোড ছাড়ার চেষ্টা করুন - যেহেতু এটি গিট ক্লায়েন্ট, তাই কমান্ড লাইনে গিটের সমস্যা এড়াতে আপনাকে Xcode ছাড়তে হবে।


4
নিস! নোট করুন যে এক্সকোড এবং অন্যান্য গিট ক্লায়েন্টরা অপরাধী হতে পারে। আমার ক্ষেত্রে এটি বন্ধ গিটএক্সও নিয়েছিল।
এনএসটিজে

আমার লক ফাইলটি 10 ​​বার বা তারপরে মুছে ফেলার পরে আজ সকালে অবশেষে আমি এই উত্তরের হোঁচট খেয়েছি। কীভাবে এক্সকোড খুলেছে তা জানেন না তবে এটি আমার ওয়ার্কফ্লোটি ট্র্যাশ করছে তা নিশ্চিত। ভকভগক!
ক্লাউডকিলার

24

আমি একই সমস্যা ছিল। আমি চেষ্টা করেছিলাম

rm -f ./.git/index.lock 

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

rm --force ./.git/index.lock

এবং যে কাজ করে।

শুভকামনা! এটি সুপার কাজ করে


আমি আমার ক্ষেত্রে .git ফোল্ডার দেখতে পাচ্ছি না। আমি কেবল দেখি। / এবং ../ যতক্ষণ না লুকানো ডিরেক্টরিই উদ্বেগজনক।

আপনি কোন ধরণের কম্পিউটারে আছেন?
অলিভিয়া স্টেজার

18

আমার .git ডিরেক্টরিতে কোনও সূচি.লক ফাইল ছিল না। সুতরাং, গিট ব্যাশ শেলটি ব্যবহার করে, আমি দৌড়ে ...

cd .git
touch index.lock
rm index.lock

টাচ কমান্ড ফাইলটি তৈরি করেছে এবং সমস্যাটি চলে গেছে।


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

1
আমি এর একটি সামান্য বৈকল্পিক অভিজ্ঞতা পেয়েছি: (1) আমি ত্রুটি বার্তাটি পেয়েছি এবং বিভিন্ন 'ফিক্স' দিয়ে পরীক্ষা করেছি; (2) আমি খুঁজে পেয়েছি যে index.lockঅস্তিত্ব ছিল না; (3) আমি উপরের touchআদেশটি ব্যবহার করেছি ; (৪) আমার গিট ক্লায়েন্টটি স্বাভাবিকভাবে কাজ করা বন্ধ করে দিয়েছে (সর্বোপরি, এটি ক্রলের দিকে ধীর হয়ে গেছে); (5) আমি মুছে ফেলেছি index.lock; ()) সংগ্রহস্থলটি আবার স্বাভাবিকভাবে কাজ শুরু করে।
ক্লারপল

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

touch index.lockইঙ্গিত দেয় যে জন * এনআইএক্স-এ ছিলেন, তবে আমি উইন্ডোজ 10-তে সমতুল্য হয়েছি ( index.lockএকটি পাঠ্য সম্পাদক দিয়ে একটি ফাইল তৈরি করুন, তা সঙ্গে সঙ্গে মুছুন, এবং লাভ), এবং সমস্যাটি শেষ হয়ে গেল।
রাফিন

1
@ স্পার্ক আপডেট হয়েছে ...
জন লিভারমোর

13

আপনি কি ভুলবশত ব্যবহার করে rootব্যবহারকারীর সংগ্রহস্থল তৈরি করেছেন ?

এটি ঠিক ঘটে যে আমি rootব্যবহারকারী হিসাবে গিট সংগ্রহস্থল তৈরি করেছি ।

আমি গিট সংগ্রহস্থলটি মুছে ফেলেছি sudoএবং এটি ছাড়া আবার তৈরি করেছি এবং এটি কাজ করে।


1
ইয়াপ, এটাই। ধন্যবাদ
নাটাসিয়া টাভারেস

9

আমারও এই সমস্যা আছে এবং আমি এটি সত্যই একটি অনুমতি সমস্যা বলে মনে করি। সুতরাং আমি এই কাজ:

sudo chown -R : .git #change group
sudo chmod -R 775 .git #change permission

তারপরে ইরারিিং দুর্দান্ত এবং গা সাফল্য।

এবং তারপরে আমি জিপি ব্যবহার করি, আমি প্রায় একই ত্রুটিটি পেয়েছি

sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem

উজ্জ্বল, এটি কি করে? "$ {ব্যবহারকারী: - $ (আইডি-অন)}"
নিক

7

ম্যাক ওএস এক্সে রেপো ডিরেক্টরি থেকে কমান্ড প্রম্পটে এটি করুন:

cd .git
rm index.lock

1
এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
চান্নক্স

5

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


5

আমার জন্য যে সমাধানটি কাজ করেছিল তা হ'ল উত্তম পাঠ্য বন্ধ করছিল কারণ চলমান গিট প্রক্রিয়াটি সম্পাদক দ্বারা শুরু হয়েছিল।


আমি সম্প্রতি সাবট্রাইম টেক্সট প্লাগইন গিটসভভি ইনস্টল করেছি এবং তখন থেকেই এই ত্রুটি ছিল। ইঙ্গিতটির জন্য ধন্যবাদ, @ স্নোরকেলজেব্রা
কিটজে

5

আপনি চেষ্টা করার পরে যদি:

rm -f ./.git/index.lock

তুমি পাও:

আরএম: 'ইনডেক্স.লক' আনলিংক করতে পারে না: অনুমতি অস্বীকৃত

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


5

উইন্ডোজে, আমি কেবল টাস্ক ম্যানেজারের সমস্ত গিট উইন্ডোজ (32 বিট) প্রসেসের জন্য টাস্ক সমাপ্তির পরে লক ফাইলটি মুছতে সক্ষম হয়েছি।

সমাধান (10 বিজয়)

1. টাস্ক ম্যানেজারে সমস্ত গিট উইন্ডোজ (32 বিট) প্রক্রিয়াগুলির জন্য শেষ টাস্ক

2. .git / index.lock ফাইলটি মুছুন


4

আমার ক্ষেত্রে সমাধানটি ছিল 5 মিনিট অপেক্ষা করা। স্পষ্টতই আমার আগের অপারেশনটি এখনও চলছে তবে আমি এটি জানি না। আমি উইন্ডোতে কচ্ছপের গিট ব্যবহার করছিলাম।



4

আমি মনে করি ফাইলটি অপসারণের চেয়ে আরও ভাল সমাধান রয়েছে (এবং সুডো দিয়ে একটি ফাইল সরিয়ে / তৈরি করার পরে happenশ্বর জানেন যে এর পরে কী ঘটবে):

git gc

3

আপনার সমস্যা আছে .git/index.lockতাই এটি নীচের কমান্ডটি ব্যবহার করে মুছুন।

COMMAND:

sudo rm -rf .git / index.lock


3

আমি বেশ কয়েকটি পদ্ধতিতে এটি বেশ কয়েকবার চেষ্টা করেছি তবে এটি আমার জন্য কাজ করেছে (আমি পাইচার্মের টার্মিনালটি ব্যবহার করেছি):

$ cd .git/

$ rm -f index.lock

তারপরে আমি আবার খালি গিট রেপো তৈরির চেষ্টা করেছি:

$ git init

$ git add .

$ git commit -m "commit msg"

3

যদি এটি সাবমডিউল হয় তবে আপনার সংগ্রহস্থল ডিরেক্টরিতে পরিবর্তে এটি ব্যবহার করে দেখুন:

rm -f ../.git/modules/submodule-name/index.lock

সাব-মডিউল-নামটি আপনার সাব-মডুলোর নামে পরিবর্তন করুন।


2

এই সমস্যার সমাধানটি ডিরেক্টরিতে তিনটি এক্সকোড / প্রকল্প ফাইলগুলি অনুলিপি করে নতুন ডিরেক্টরি তৈরি করে (হুইলিভার অন্য) এবং তারপরে তিনটি ফাইল / ডিরেক্টরি পেস্ট করে।


2

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


2

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



2

আমি আমার ডিরেক্টরি অনুমতি পরিবর্তন করেছি তাই আমি জানতাম এটি অনুমতি সম্পর্কিত হতে পারে। আমার ক্ষেত্রে আমি অযাচিত (_www) ব্যবহারকারীদের অপসারণ করেছি এবং তারপরে সমস্ত সামগ্রীতে পরিবর্তিত প্রয়োগ করে প্রত্যেককে পড়ার / লেখার অনুমতি প্রয়োগ করেছি। এটি ম্যাকের উপর রয়েছে

ম্যাকের ডিরেক্টরি অনুমতি


2

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


2

এটি করার জন্য অ্যাটম platformio-atom-ide-terminal প্লাগিন ব্যবহার করবেন না । আপনার ডিস্ট্রো সরাসরি শর্তাবলী ব্যবহার করুন।

রিবিসিং / স্কোয়াশিং কমিট করার সময় আমি এই ত্রুটিটি পেয়েছি এবং কেন জানি না যে আমি বেশ কয়েকবার আগে এটি করেছি।

আমি কতবার মুছে ফেলব তা বিবেচ্য নয় index.lock ফাইলটি , প্রতিবার এটি ব্যর্থ হবে।

দেখা যাচ্ছে এটি আমি এটম এডিটর টার্মিনাল প্লাগইন ব্যবহার করছিলাম । একবার আমি টার্মিনালটি উবুন্টু দিয়ে জাহাজগুলি ব্যবহার করলাম এটি একটি কবজির মতো কাজ করেছিল।


2

কেবল ডি: / প্রোজেক্ট / অ্যান্ড্রয়েডজিসি / দ্য এই ডিরেক্টরিতে যান এবং সূচক মুছুন lock এটি আমার পক্ষে কাজ করে।


1

কেউ যদি গিট এসএনএন ব্যবহার করছে, আমারও একই সমস্যা ছিল তবে ফাইলটি না থাকায় এটি অপসারণ করতে পারিনি! অনুমতিগুলি যাচাই করার পরে, ফাইলটি স্পর্শ করে এবং এটি মুছে ফেলার পরে এবং অন্য কী কী তা আমি মনে করি না, এটি কৌশলটি করেছে:

  • মাস্টার শাখা চেকআউট।
  • গিট এসএনএন রিবেস (মাস্টার উপর)
  • আপনি যে শাখায় কাজ করছিলেন তা চেকআউট করুন
  • গিট এসএনএন রিবেস

1

কিছুটা যুক্ত করা কারণ আসল সমাধান (আমার জন্য) পেতে আমাকে বিভিন্ন উত্তর ব্যবহার করতে হয়েছিল।

এটি আমার জন্য এটি করেছে:

  1. আপনি যে শাখায় কাজ করছেন তা খুলুন
  2. টার্মিনাল খুলুন (আমি গিট জিইউআইতে টার্মিনাল ব্যবহার করি)
  3. কমান্ড টাইপ করুন: cd .git
  4. কমান্ড টাইপ করুন: rm -f index.lock

কারও কারও -Forceপরিবর্তে ব্যবহার করতে হতে পারে -f। আপনি যেমন আপনার টার্মিনাল কিছু একটি কমান্ড ব্যবহার করুন টার্মিনাল কমান্ড লাইন চেক করতে পারেন: git help


0

সমস্ত সমাধান সঠিক:

Just remove .git from your corrupted repository, 

then copy this file if back from another clone (if you don't have it in another machine, just clone it).

পরিশেষে, আমার কাছে কী পার্থক্য হয়েছে:

  • নতুন .git ফোল্ডারটি আনজিপ করতে বা অনুলিপি করতে sudo ব্যবহার করা এড়িয়ে চলুন । আপনি যদি এটি তৈরির জন্য সুপারজারের অধিকার ব্যবহার করেন তবে গিটের .git ফোল্ডারে অ্যাক্সেস থাকবে না

0

আমি রেপোর মূল ফোল্ডারের সাথে সম্পর্কিত ডিরেক্টরিটির উপ-ডিরেক্টরিতে ছিলাম (অর্থাত্ ডিরেক্টরিটি .git ছিল) I রুট ডিরেক্টরিতে চলে যাওয়া সমস্যার সমাধান করে - আপনাকে কেবল foo.ext এর পরিবর্তে পাথ / টু / ফোল্ডার / foo.ext যেতে হবে বলে সমস্ত ফাইলের রেফারেন্সকে কিছুটা অসুবিধাগুলি তৈরি করার ব্যয়ে solved

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