আমি গিটকে গিট ব্যাশের মধ্যে থেকে কোনও কমিট সম্পাদন করতে বলেছি, এটি সর্বদা যেমন VI ম হয়েছে।
আমি এখন প্রতিশ্রুতি বাতিল করতে চাই, কীভাবে আমি এই বিন্দু থেকে প্রতিশ্রুতি নিয়ে এগিয়ে যাওয়া রোধ করব?
আমি গিটকে গিট ব্যাশের মধ্যে থেকে কোনও কমিট সম্পাদন করতে বলেছি, এটি সর্বদা যেমন VI ম হয়েছে।
আমি এখন প্রতিশ্রুতি বাতিল করতে চাই, কীভাবে আমি এই বিন্দু থেকে প্রতিশ্রুতি নিয়ে এগিয়ে যাওয়া রোধ করব?
উত্তর:
আপনার দুটি বিকল্প রয়েছে:
একটি খালি প্রতিশ্রুতি বার্তা সরবরাহ করুন। যদি এটি একটি নতুন প্রতিশ্রুতি থাকে এবং আপনি এখনও বার্তাটি সংরক্ষণ না করেন তবে আপনি কেবল ব্যবহার করতে পারেন :q!(সংরক্ষণ না করেই ছাড়ুন)। আপনি যদি ইতিমধ্যে সংরক্ষণ করেছেন (বা আপনি পূর্বের প্রতিশ্রুতি সংশোধন করছেন), কেবলমাত্র সম্পূর্ণ লগ বার্তাটি মুছুন এবং আবার সংরক্ষণ করুন। এটি ggdG+ :wqভিমে ইন দিয়ে করা যায় ।
একটি শূন্য-বহির্গমন কোড সহ সম্পাদককে প্রস্থান করুন। ভিমে, আপনি ব্যবহার করতে পারেন :cq(একটি ত্রুটি কোড সহ প্রস্থান করুন)।
এটি লক্ষণীয় যে আপনি সর্বদা আপনার কার্যকরী অনুলিপিটি সেই প্রতিশ্রুতি দেওয়ার আগে যে অবস্থায় ছিল সেটিতে এটি পুনরায় সেট করতে পারেন git reset HEAD^।
git reset HEAD^জিজ্ঞাসা করা হয়, আপনার শেলটি লাইন ধারাবাহিকতা হিসাবে ব্যাখ্যা করতে পারে। ব্যবহার করে দেখুন git reset "HEAD^", git reset HEAD^^অথবা git reset HEAD~1পরিবর্তে এই উত্তর প্রতি: stackoverflow.com/questions/14203952/git-reset-asks-more
:q!কোন কমিট সংশোধন করার সময় কাজ করে না। এটি প্রতিশ্রুতি বার্তা আপডেট করে না, তবে এটি সংশোধনটি কার্যকর করে :-(:cq সম্পূর্ণরূপে সংশোধন বাতিল।সংক্ষেপে:
git commit) ব্যবহার করা ছেড়ে দিন :q!।git commit --amend) কমিট বার্তাটি মুছে ফেলুন (কেবল প্রথম কয়েকটি সারি একটি # দিয়ে শুরু নয় ) উদাহরণস্বরূপ v ধরে রাখা এবং এটি নির্বাচন করতে তীর কীগুলি ব্যবহার করে এবং তারপরে মুছুন চাপুন। পরিবর্তনগুলি প্রয়োগ করতে ছাড়ুন:wq ! আপনি যদি ব্যবহার :q!করেন পরিবর্তনগুলি হারিয়ে যাবে এবং আগের প্রতিশ্রুতি বার্তা ব্যবহার করা হবে।ভিআইএম ব্যবহার করার সময় এটি উভয় ক্ষেত্রেই ঠিক আছে :cq- এইচআইএম একটি ত্রুটি কোড সহ প্রস্থান করবে এবং প্রতিশ্রুতি বাতিল করা হবে।
:q!ভিথ থেকে বেরিয়ে আসার আগে আপনাকে Esc প্রেস করতে হবে তা যুক্তিযুক্ত।