গিট - স্থানীয়ভাবে কিছু ফাইল মুছে ফেলা হয়েছে, আমি কীভাবে এগুলি একটি দূরবর্তী সংগ্রহস্থল থেকে পাব


109

আমি আমার পিসিতে কিছু ফাইল মুছে ফেলেছি, কীভাবে সেগুলি আবার ডাউনলোড করব?

পুল বলে: "ইতিমধ্যে আপ টু ডেট"।


1
আপনাকে "এগুলি আবার ডাউনলোড করতে হবে না" কারণ আপনি গিট ব্যবহার করার সময় সমস্ত সংগ্রহস্থলের ইতিহাস স্থানীয়ভাবে উপস্থিত রয়েছে।
সিডিউইউইউ

স্থানীয় থেকে এগুলি কীভাবে পাবেন তা আপনি জানেন?
চার্লি পার্কার

উত্তর:


162

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

আপনি যদি মুছে ফেলার প্রতিশ্রুতি না রাখেন তবে কেবলমাত্র আপনার বর্তমান প্রতিশ্রুতি থেকে ফাইলগুলি দেখুন:

git checkout HEAD <path>

আপনি যদি মুছে ফেলার প্রতিশ্রুতিবদ্ধ থাকেন তবে আপনার যে ফাইল রয়েছে সেগুলি থেকে ফাইলগুলি পরীক্ষা করে দেখতে হবে। সম্ভবত এটি পূর্ববর্তী অঙ্গীকার হবে:

git checkout HEAD^ <path>

তবে যদি এটি nপূর্বে প্রতিশ্রুতিবদ্ধ হয়, ব্যবহার করুন HEAD~nবা কেবল আগুন জ্বালিয়ে দিন gitkতবে উপযুক্ত কমিটের SHA1 সন্ধান করুন এবং এতে আটকান।


2
একটি পক্ষের মন্তব্য হিসাবে, এটি একটি সম্পূর্ণ ডিরেক্টরিতেও কাজ করে, এটি কোনও বিশেষ বা একক ফাইলের সাথে নির্দিষ্ট নয় (এটি আমি যখন কমপক্ষে চেষ্টা করেছিলাম তখন এটি কাজ করেছিল)। Thnx বিটিডব্লিউ।
চার্লি পার্কার

5
এনবি <path>হ'ল বাধ্যতামূলক, এমনকি যদি .বর্তমান ডিয়ারের জন্য কেবল বিন্দু থাকে । তবে "শাখা" ( HEADউপরের উদাহরণে) isচ্ছিক। অনেকগুলি গিট কমান্ডের মতো, আউটপুট বা সহায়তাও সহায়ক নয়।
মার্কহু

39

git checkout filename

git reset --hard কৌতুক পাশাপাশি করতে পারে


9
git reset --hardপদ্ধতিটি ব্যবহার করে সতর্ক করার ফলে এটি পুরো গাছটিকে আপনার ডায়াল / হেড back / হেড put n আপনি
পুরোপুরি ডাব্লু

গিট চেকআউট ফাইলের নামটি আমার জন্য উত্তর ছিল :)
রুব

গিট চেকআউট ফাইলের
নামটি

কাঙ্ক্ষিত ফোল্ডারে স্থাপন এবং git checkount .একটি কবজ মত কাজ!
hzitoun

21

আপনি যদি স্থানীয়ভাবে একাধিক ফাইল মুছে ফেলেছেন তবে প্রতিশ্রুতিবদ্ধ না হন তবে আপনি চেকআউটটি বাধ্য করতে পারেন

$ git checkout -f HEAD

"ইতিমধ্যে আপ টু ডেট" আউটপুট থেকে আমরা দেখতে পেয়েছি, এই প্রশ্নটি জিজ্ঞাসা করা ব্যক্তি ইদানীং কিছু প্রতিশ্রুতিবদ্ধ হয়নি। আপনার কি সম্ভবত গিট চেকআউট নির্দিষ্ট করতে হবে - যদি মাথা বিপদজনক? যেহেতু এটি স্থানীয় পরিবর্তনগুলি পূর্বাবস্থায় ফিরে আসে না (পূর্ববর্তী ফাইলগুলি ইতিবাচক ফলাফল হিসাবে পুনরুদ্ধার করে, সম্পাদিত ফাইলগুলিতে নেতিবাচক পরিবর্তনগুলি হারিয়েছে)।
লিওনেল ট্রেবুচন

15

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

$ git checkout HEAD .

শেষ প্রতিশ্রুতি দেওয়ার আগে মুছে ফেলা সমস্ত ফাইল পুনরুদ্ধার করা হবে।

যোগ করা হচ্ছে "।" বর্তমান সংগ্রহস্থলের সমস্ত মুছে ফেলা ফাইলগুলি তাদের নিজ নিজ পথে ফিরিয়ে আনবে।

আরও তথ্যের জন্য ডকুমেন্টেশন চেকআউট ।


2

ফাইলগুলি মুছে ফেলার আগে আপনাকে পূর্ববর্তী সংস্করণটি পরীক্ষা করে দেখতে হবে। git checkout HEAD^সর্বশেষ সংশোধনটি চেকআউট করার চেষ্টা করুন ।


0

এছাড়াও, আমি নিম্নলিখিত পদক্ষেপগুলি সংযোজন করছি যাতে গিট রেপো সঠিকভাবে আইডিইয়ের সাথে যুক্ত হবে:

 $ git reset <commit #>

 $ git checkout <file/path>

আশা করি এটা উপকারে এসেছিল!!

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