গিট রেফারেন্স `রেফস / মূল / রেফ / মাথা / মাস্টার` কীভাবে মুছবেন?


35

হলুদ রাউন্ড বক্স এ কি?

স্ক্রিনশট

আমি চেষ্টা করেছি git branch -D, git tag -dকিন্তু কেউই সফল হয়নি। তাহলে এটি কীভাবে মুছবেন?


1
দয়া করে আলেক্সি টেনের উত্তরের গ্রহণযোগ্য উত্তরটি যা উচ্চ-উত্সাহিত, এবং সঠিক ( git update-ref -d) সঠিকভাবে বিবেচনা করুন।
— জোনাথন রাইনহার্ট

উত্তর:


11

এটি একটি ট্যাগের মতো দেখাচ্ছে, সুতরাং নিম্নলিখিত কমান্ডটি কাজ করা উচিত:

git tag -d refs/original/refs/heads/master

তবে, যেহেতু আপনি বলেছেন যে এটি তা নয়, আপনি কেবল ফাইলটি .gitডিরেক্টরি থেকে মুছতে পারেন । সংগ্রহস্থল মূল থেকে, এর মতো একটি কমান্ড এটি পাবে:

rm .git/refs/tags/refs/original/refs/heads/master

git-tagকমান্ড ব্যর্থ হলে পথটি কিছুটা আলাদা হতে পারে , তাই আপনি cd .git/refsট্রায়াল-অর-ত্রুটি করে আপত্তিজনক মাথাটি পেতে এবং খুঁজে পেতে পারেন । ফাইলটি মোছা আপনার স্থানীয় সংগ্রহশালা থেকে রেফারেন্স সরিয়ে ফেলবে।


2
এটি কোনও ট্যাগ নয়, তবে আমি এটি এটি খুঁজে পেয়েছি .git/refs/original/refs/heads/master।
— Xiè Jìléi

1
git update-refগিটের অভ্যন্তরগুলিতে ম্যানুয়ালি পরিবর্তনের পরিবর্তে ব্যবহার করুন । অ্যালেক্সির উত্তর দেখুন।
— wchargin

100

এই আদেশ কাজ করা উচিত

git update-ref -d refs/original/refs/heads/master

এটি একই সমস্যা নিয়ে আমার পক্ষে কাজ করেছিল। নোট করুন যে রেফারেন্সটি .git / প্যাকড-রেফস নামে একটি ফাইলে সংরক্ষণ করা হয়েছিল। আপনি যদি এটি খুলেন তবে আপনি SHA এবং "রেফ / মূল / রেফ / মাথা / মাস্টার" স্ট্রিংটি দেখতে পাবেন। আপনি সম্ভবত এই লাইনটি মুছতে পারেন, তবে আমি নিরাপদ থাকতে এই আদেশটি ব্যবহার করব।
— ম্যাট এন

14
+1: আপনার কেবল সর্বদা রেফের git update-ref -dপরিবর্তে ব্যবহার করা উচিত rm- অন্যথায় খারাপ জিনিসগুলি ঘটতে পারে।
— কলম রজার্স

3
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত
— ড্যানিয়েল অল্ডার

1
পছন্দ করেছেন
— wahnfrieden

6
@ ওয়াহনফ্রিডেন কারণ গিটটি প্যাকড রেফ ব্যবহার করতে পারে এবং refsডিরেক্টরিতে কোনও সম্পর্কিত ফাইল থাকবে না
— আলেক্সি টেন

17

এটি একটি রেফ সাধারণত এটি তৈরি করে git filter-branch- এটি দৌড়ানোর আগে আপনার শাখা যেখানে ছিল সেদিকে এটি একটি পয়েন্টার git filter-branch।

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

git push . :refs/original/refs/heads/master

অন্যান্য উত্তরগুলি মুছে ফেলার অন্যান্য বেশ কয়েকটি উপায়ও কভার করেছে।


1
স্থানীয়ভাবে রেফারেন্স মুছতে "কিছুই ঠেলাঠেলি করা" খুব চালাক।
— 40XUserNotFound

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