গিট-এ নাম পরিবর্তন করতে চাইলে সঠিক উপায় কী:
git mv file1 file2
গিট-এ নাম পরিবর্তন করতে চাইলে সঠিক উপায় কী:
git mv file1 file2
উত্তর:
নির্লজ্জ উত্তর:
git mv file2 file1
পুরানো এবং নতুন উভয় পাথের জন্য স্বয়ংক্রিয়ভাবে সূচক আপডেট করে।
গিট এমভির ডকুমেন্টেশন চেক করুন
git checkout .
নয়, এমনকি কেন কাজ করে না -f
?
git checkout -- .
।
fatal: source directory is empty,
কেবল git reset --hard
কাজটি করেছে।
আপনি যদি শেষ প্রতিশ্রুতি থেকে অন্য কোনও পরিবর্তন (যা আপনি রাখতে চান) না করেন তবে আপনি এটি করতে পারেন
git reset --hard
git reset --hard
। কেবল এটিকে পিছনে সরিয়ে নেওয়া আমার কাছে একটি নিরাপদ বিকল্প বলে মনে হচ্ছে।
git reset HEAD file2
আমার জন্য কৌশলটি
আমার ক্ষেত্রে, আমি একটি সম্পূর্ণ ফোল্ডার সরিয়ে নিয়েছি, তখন বুঝতে পেরেছিলাম আমার থাকা উচিত নয়।
আমি @ ডেভ কনোপকার উত্তরটি সত্যিই পছন্দ করেছি, তবে এই পদ্ধতির সাথে আমার খুব বেশি সাফল্য হয়নি (সম্ভবত আমার জিআইটির সংস্করণ (1.8.4)? আমার ফাইলগুলি এখনও মুছে ফেলা হিসাবে দেখিয়েছিল। স্ট্যাকের সাথে আমার অন্যান্য পরিবর্তন ছিল যা আমি চাইনি হারা (দুর্ভাগ্যক্রমে)।
এটি করার ক্ষেত্রে আমার সাফল্য ছিল:
git reset moved_folder
git checkout original_folder
এটি আপনি কী অর্জন করতে চান তার উপর নির্ভর করে। আপনি যদি এটির মতো উপস্থিত হতে চান তবে ফাইলটি কখনও স্থানান্তরিত হয়নি, তবে আপনি সরানোর আগে পুনরায় (বা পুনর্বার) পুনরায় সেট করতে পারেন। আপনি যদি ইতিহাসের বিষয়ে চিন্তা না করেন তবে কেবল এটিকে আবার সরিয়ে দিন।
যদি আপনি দুর্ঘটনাক্রমে প্রচুর সংখ্যক ফাইলের নাম পরিবর্তন করেন এবং আপনি যেখান থেকে শুরু করেছিলেন সেখানে ফিরে যেতে চান, তবে কলটির adds
অধীনে প্রদর্শিত সমস্ত নাম পরিবর্তন করা ফাইল মুছুন git status
।
একবার আপনি সমস্ত পরিবর্তিত ফাইল মুছলে আপনি git checkout -- *
স্থানীয় ফাইলের মূল নামগুলি ফিরে পেতে চালাতে পারেন ।
git reset HEAD file2
git checkout -- file1
rm file2
প্রথম কমান্ড ফাইল 2 আনস্টেজ করে তবে এর একটি অনুলিপি চারপাশে রেখে দেয়। দ্বিতীয় কমান্ডটি মূল ফাইলটি পুনরুদ্ধার করে এবং তৃতীয়টি নতুন ফাইলটি মুছে দেয়।
আমি যে কৌশলটি ব্যবহার করেছি তা ছিল আমার সমস্ত পরিবর্তনগুলি পূর্বাবস্থায় ফেলার জন্য গিট স্ট্যাশ করা (যার মধ্যে এমভিডি ফাইলগুলি পুনরুদ্ধার করা অন্তর্ভুক্ত) এবং তারপরে গিট স্ট্যাশ ড্রপ দিয়ে স্ট্যাশ মুছে ফেলা হয়েছিল।
git mv file2 file1