উত্তর:
git checkout 'master@{7 days ago}' -- path/to/file.txt
এটি হেডকে পরিবর্তন করবে না, এটি কেবল স্থানীয় ফাইলটি ওভাররাইট করবে path/to/file.txt
সেখানে সম্ভাব্য পুনর্বিবেচনা সম্পর্কিত স্পেসিফিকেশনগুলির জন্য ম্যান গিট-রেভ-পার্স দেখুন (অবশ্যই একটি সাধারণ হ্যাশ (ভালো dd9bacb
) খুব ভাল করবে)
পরিবর্তনটি করতে ভুলবেন না (একটি পর্যালোচনার পরে ...)
revision-specification
যেহেতু ওপি বলেছিল :)
shacommit~1
(উদা git checkout 0f4bbdcd~1 -- path/to/file.txt
:) ব্যবহার করুন ।
git checkout [Revision_Key] -- path/to/file
।git checkout
একক ফাইলগুলি পরিচালনা করতে পারে (সেহে উত্তর দেখুন), অনুলিপি এবং পেস্ট করার দরকার নেই।
HEAD
, ORIG_HEAD
অথবা সঙ্গে মিলিত যারা কোনো ^
/ ~
/ @
-style স্বরলিপি।
আমার গিটে প্রতিশ্রুতিবদ্ধ একটি সাম্প্রতিক ফাইল পুনরুদ্ধার করা দরকার সুতরাং কেবল পুনরাবৃত্তি করতে এবং অন্য দৃষ্টিভঙ্গি দেওয়ার জন্য আপনাকে নিম্নলিখিত দুটি পদক্ষেপ চালিয়ে এটি করা দরকার:
গিট লগ -৩
এটি সাম্প্রতিক তিনটি কমিট দেখায়। মন্তব্যগুলি এবং লেখকের নামটি পড়ুন যাতে আপনি কোন সঠিক সংস্করণটি চান তা সংকীর্ণ করুন। আপনি যে কমিট করতে চান তার জন্য লম্বা কমিট আইডি (যেমন b6b94f2c19c456336d60b9409fb1e373036d3d71) লিখুন।
গিট চেকআউট b6b94f2c19c456336d60b9409fb1e373036d3d71 - myfile.java
কমিট আইডি এবং ফাইলের নামটি পুনরুদ্ধার করতে চান Pass ডাবল হাইফেনের আগে এবং পরে আপনার কোনও স্থান রয়েছে তা নিশ্চিত করুন।
এটি করার আরও অনেকগুলি উপায় রয়েছে। তবে এটি একটি সহজ আমি মনে করতে পারি। আশা করি এইটি কাজ করবে.
দ্রষ্টব্য: আপনি যদি নিজের প্রকল্পের পথ / ফোল্ডারের ভিতরে থাকেন তবে চেকআউট কমান্ডে পুরো ফাইলের পাথটি টাইপ করার প্রয়োজন নেই।
সমস্ত উত্তর উল্লেখ git checkout <tree-ish> -- <pathspec>
। গিট ভি ২.২.৩.০ হিসাবে একটি নতুন গিট পুনরুদ্ধার পদ্ধতি রয়েছে যা এর জন্য git checkout
কিছুটা দায়ী বলে অনুমিত হয় । গিথব ব্লগে পরিবর্তনের হাইলাইটগুলি দেখুন ।
এই আদেশের ডিফল্ট আচরণ হ'ল source
প্যারামিটার থেকে আসা সামগ্রী সহ একটি কার্যক্ষম গাছের অবস্থা পুনরুদ্ধার করা (যা আপনার ক্ষেত্রে কমিট হ্যাশ হবে)।
কমিট হ্যাশকে ধরে abcdef
নিলে আদেশটি দেখতে পাবেন:
git restore --source=abcdef file_name
যা (ডিফল্টরূপে) এটিকে কার্যক্ষম বৃক্ষে রাখে। আপনি যদি পরিবর্তনটি সরাসরি সূচকে রাখতে চান তবে এটি সরাসরি প্রতিশ্রুতিবদ্ধ হতে পারে:
git restore --source=abcdef --worktree --staged file_name
বা সংক্ষিপ্ত বিকল্পের নাম সহ:
git restore -s=abcdef -W -S file_name