প্রকৃতপক্ষে বিদ্যমান ফাইলটি মুছে ফেলতে অক্ষম - মারাত্মক: প্যাথস্পেক ... কোনও ফাইলের সাথে মেলে না


165

প্রকৃতপক্ষে বিদ্যমান ফাইলটি মুছে ফেলতে অক্ষম - মারাত্মক: প্যাথস্পেক ... কোনও ফাইলের সাথে মেলে না

আমার গিট কন্ট্রোলের অধীনে একটি ফাইল রয়েছে যা কেবল মোছা হবে না। ব্যর্থ কমান্ডটি হ'ল:

$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files

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

$ git branch -a
* dot-output
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/modelspace
$ 

$ git status
# On branch dot-output
# Untracked files:
# ...

$ ls .idea/
ant.xml         encodings.xml       modules.xml     workspace.xml
compiler.xml        inspectionProfiles  scopes
copyright       libraries       testrunner.xml
dictionaries        misc.xml        vcs.xml

$ ls -al
total 56
drwxr-xr-x  16 matt  staff    544 Apr 10 11:33 .
drwxr-xr-x@ 33 matt  staff   1122 Apr 10 09:40 ..
-rw-r--r--@  1 matt  staff  12292 Apr 10 11:19 .DS_Store
drwxr-xr-x  18 matt  staff    612 Apr 10 11:39 .git
-rw-r--r--   1 matt  staff     98 Mar  6 13:40 .gitignore
drwxr-xr-x  16 matt  staff    544 Apr 10 11:34 .idea
-rw-r--r--   1 matt  staff   1113 Feb 25 11:07 README
...

$ head -n 2 .idea/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">

$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files

হালনাগাদ: নেভিক এবং বরিসের উত্তরগুলি অনেক সাহায্য করেছিল। আমি বুঝতে পেরেছিলাম যে বেশ কয়েকটি জিনিস চলতে দেখে আমি বিভ্রান্ত হয়ে পড়েছিলাম, যার মধ্যে কয়েকটি ইন্টেলিজ আইডিইএ দ্বারা উত্সাহিত হয়েছিল (একটি সরঞ্জাম যা আমি সাধারণত ভালোবাসি, বিটিডব্লিউ)। প্রথমত, গিট আরএম-এর 'মারাত্মক: প্যাথস্পেক' বার্তাটি অপ্রয়োজনীয় এবং বিভ্রান্তিমূলক (এই ভ্যানিলা ব্যবহারকারীর মতে)। দ্বিতীয়ত, আমার কাছে ফাইলটি .gitignore এ ছিল, তবে আমার প্রশ্ন জিজ্ঞাসার আগে এটি সরিয়ে ফেলেছিল। যাইহোক, এটি আইডিইএ'র উপেক্ষা করা ফাইলগুলির বৈশিষ্ট্যটিতেও স্বাধীনভাবে গিটের অন্তর্ভুক্ত ছিল এবং প্রকল্প দর্শনে (যেমন গিট স্ট্যাটাসটি দেখানো হয়েছে তেমন চিহ্নবিহীন পরিবর্তে) প্রদর্শিত হয়েছিল। পরিশেষে, আমি পরীক্ষার সময় আমার আইডিএএ চলছে, এবং দেখে মনে হচ্ছে এটি আমার আরএম এর পরপরই ফাইলটি পুনরায় তৈরি করছে। সুতরাং, আমার গ্রহণযোগ্যতাটি হ'ল আমি যদি গিটের আচরণকে বিভ্রান্তি বোধ করছি তবে আইডিইএ ছাড়ার বিষয়টি নিশ্চিত করুন এবং ডিবাগ করার সময় কমান্ড লাইনে (এবং গিটক) কাজ করুন work এবং এই যে ব্যবহারকারীরা দুর্দান্ত। আবার ধন্যবাদ!


15
আপনি কি rmপরিবর্তে ফাইলটি সরানোর চেষ্টা করেছেন git rm?
নেভিক রেহেনেল

1
@ নতুনিক্রেনেল হ্যাঁ, আমি চেষ্টা করার চিন্তা করেছিলাম, ধন্যবাদ, তবে এটি মনে হচ্ছে ইন্টেলিজ আইডিইএ (যা আমি চালিয়ে যাচ্ছিলাম) প্রতিটি মুছে ফেলার পরে পুনরুদ্ধার করে। ডোহ!
ম্যাথু কর্নেল

আমি Eclipse এবং Attlassian SourceTree নিয়ে কাজ করছি ... আপনার প্রশ্ন আমাকে এই সমস্যাটি সমাধান করতে সহায়তা করে। ধন্যবাদ!
মানু

আপনি git clean -f .idea/workspace.xmlঅনক্রাতীত ফাইলটি অপসারণ করতে ব্যবহার করতে পারেন।
কেমচুরিয়ন

উত্তর:


134

আপনার ফাইলটি .idea/workspace.xmlগিট সংস্করণ নিয়ন্ত্রণে নেই। আপনি এটি এখনও যোগ করেন নি (গিটের স্থিতি / আনট্রাকড ফাইলগুলি পরীক্ষা করুন) বা এটিকে উপেক্ষা করেছেন (.gitignore বা .git / তথ্য / ফাইলগুলি বাদ দিন)

আপনি নিম্নলিখিত গিট কমান্ড ব্যবহার করে যাচাই করতে পারেন, যা সমস্ত উপেক্ষা করা ফাইলের তালিকা করে:

git ls-files --others -i --exclude-standard

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

23
$>git add .
$>git rm file_Name  

এটা কাজ করে। আপনি ডান ক্লিক ব্যবহার করে নতুন ফাইল যুক্ত করুন -> নতুন ফাইল তৈরি করুন, এবং এরপরে তাৎক্ষণিকভাবে মুছুন। ফাইলটি তালিকাভুক্ত ফাইল তালিকায় যাবে।


2
যদি ফাইলটি মুছে ফেলার সময় এটি আপনাকে ত্রুটি দেয় তবে ফাইলটি মুছে ফেলার সময় আপনি -f এর মতো কিছু ব্যবহার করতে পারেন: it> গিট আরএম -f ফাইল_নাম
অভিনব

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

8

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

আমি একটি LibreOffice এর ডক ফাইল ছিল, সেটিতে কল final report.odt। আমি পরে এটির কেস পরিবর্তন করেছিলাম Final Report.odt। উইন্ডোজ এ, এটি একটি পুনর্নবীকরণ হিসাবে গণনা করা হয় না। final report.odt, Final Report.odt, FiNaL RePoRt.oDtসবাই একই রকম। লিনাক্সে, এগুলি সমস্ত আলাদা।

যখন আমি অবশেষে গিয়েছিলাম git rm "Final Report.odt"এবং "প্যাথস্পেক কোনও ফাইলের সাথে মেলে না" ত্রুটি। আমি যখন ফাইলটি যুক্ত করার সময় আসল কেসিং ব্যবহার করি তখনই - git rm "final report.odt"- এটি কাজ করে।

পাঠ শিখেছি: কেসটি পরিবর্তন করতে আমার পরিবর্তে করা উচিত ছিল:

git mv "final report.odt" temp.odt
git mv temp.odt "Final Report.odt"

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


1
গিটে রেকর্ডকৃত পথের কোনও অংশের ক্ষেত্রে যদি পথের কোনও অংশ আলাদা হয় তবে উইন্ডোজে এটি ঘটতে পারে। উইন্ডোজ
রাটাল

3

যদি আপনার ফাইলটি idea/workspace.xml .gitignore (বা এর মূল ফোল্ডার) এ যুক্ত হয় তবে এটি কেবল addসংস্করণ নিয়ন্ত্রণের জন্য ম্যানুয়ালি। এছাড়াও আপনি এটি টরটোজজিট ব্যবহার করে যুক্ত করতে পারেন। পরবর্তী ধাক্কা পরে আপনি দেখতে পাবেন যে আপনার সমস্যা সমাধান হয়েছে।

টর্টোজাইজিট ব্যবহার করে গিট সংস্করণে যুক্ত করুন


1
কারও কাছে যখন rmকোনও ডিরেক্টরি বা কোনও ফাইলের প্রয়োজন হয়, তাকে ইতিমধ্যে গিট সংস্করণ নিয়ন্ত্রণের অধীনে তালিকাভুক্ত না করা হলে গিটে এটি যুক্ত করার দরকার নেই!
মোহাম্মদ করমানি

0

আমার উদাহরণস্বরূপ, পুরোপুরি বিজোড় কিছু ছিল যা আমি নিশ্চিত কারণটি কী তা নিশ্চিত। একটি সম্পূর্ণ ফোল্ডার আগে প্রতিশ্রুতিবদ্ধ ছিল। আমি এটি গিট, উইন্ডোজ এক্সপ্লোরার এবং গিটহাবে দেখতে পেলাম, তবে আমি নিজেই ফোল্ডারে এবং এতে থাকা ফাইলগুলিতে যে কোনও পরিবর্তন করেছি তা উপেক্ষা করা হয়েছিল। ব্যবহার git check-ignoreকি এটা উপেক্ষা করা হয় এবং মুছে ফেলার জন্য এটি ব্যবহার প্রয়াস দেখতে git rm --cachedকোন প্রভাব বিস্তার করে। পরিবর্তনগুলি মঞ্চস্থ করতে সক্ষম হয় নি।

আমি এটি দ্বারা স্থির করেছি:

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

0

ব্যক্তিগতভাবে আমি এই দৃশ্যে একই রকম ত্রুটি বার্তায় হোঁচট খেয়েছি:

আমি একটি ফোল্ডার তৈরি করেছি যা খালি ছিল , তাই স্বাভাবিকভাবেই যতক্ষণ এটি খালি থাকে টাইপিং git add *এই খালি ফোল্ডারটিকে বিবেচনায় নেবে না। সুতরাং যখন আমি চালানোর চেষ্টা করলাম git rm -r *বা কেবল গিট rm my_empty_folder/ -r,করলাম তখন আমি সেই ত্রুটি বার্তাটি পেয়েছি।

সমাধানটি হ'ল গিট ছাড়াই সরিয়ে ফেলা: rm -r my_empty_folder/ বা এই ফোল্ডারের মধ্যে একটি ডেটা ফাইল তৈরি করুন এবং তারপরে এটি যুক্ত করুন ( git add my_no_long_empty_folder)


0

এই ধরনের পদক্ষেপগুলি আমাকে সহায়তা করেছিল:

  1. গিট অ্যাড
  2. গিট স্ট্যাশ

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