Git ডেভেলপমেন্ট হাব ব্যবহার করার সময় সম্ভবত সবচেয়ে লজ্জাজনক ত্রুটি মেসেজগুলোর একটি হচ্ছে নরমাল মার্জ করার পর কমিট মেসেজ নিয়ে আটকে যাওয়া। আপনি একটি লাইন দেখতে পেতে পারেন যা আপনাকে বলছে please enter a commit message to explain why this merge is necessary, কিন্তু আপনি সেখানে কিছুই লিখলে আপনাকে এক্সিট করতে দেয় না। এইটা এত লজ্জাজনক কারণ এটি আসলে কোনো ত্রুটি মেসেজ নয়।
প্রম্পটটি আসলে মানুষদের জন্য আছে যারা git মার্জ এডিট করে, এবং আপনি সেখানে যে টেক্সট যোগ করবেন সেটি শুধু অন্য ডেভেলপারদের জন্য একটি নোটিস যারা দেখতে পাবেন আপনি কী লিখেছেন। আপনাকে এডিটর থেকে এক্সিট করতে হবে ঠিক একইভাবে যেন আপনি একটি স্ট্যান্ডার্ড টার্মিনাল স্ক্রিন থেকে এটি ব্যবহার করতেন।
Git Merge থেকে এক্সিট করুন যা কমিট মেসেজ চায়
সাধারণত, আপনি এটি দেখবেন যদি আপনি একটি আলাদা ডকুমেন্টের অংশ হিসেবে git-এ নরমাল মার্জ পারফর্ম করেছেন। কখনও কখনও আপনি এই প্রম্পট পেতে পারেন একটি কোড ব্লকের পর যখন আপনি একটি আপডেটেড আপস্ট্রিমকে তার নিজস্ব টপিক ব্রাঞ্চে মার্জ করেন। Git-এর কোনো ডকুমেন্টেশন ব্যাখ্যা করে না আপনি সেটি পেয়ে কী করবেন কারণ এটি আসলেই কোনো প্রম্পট নয়।
এই মেসেজের দুটি লাইনই # সিম্বল দিয়ে শুরু হয়, যেটি মানে সেগুলো কমেন্ট। যেহেতু Git জানে না কতজন ডেভেলপার একটি প্রজেক্টে কাজ করছে, এই টা যোগ করা হয়েছে যাতে আপনি অন্যদের জন্য একটি মেসেজ ছাড়তে পারেন কেন আপনি একটি আপস্ট্রিমকে একটি টপিক ব্রাঞ্চে মার্জ করেছেন। আপনাকে জানতে হবে আপনি কোন এডিটর ব্যবহার করছেন সেটি এক্সিট করতে, যাইহোক।
অধিকাংশ কেসে, আপনি vi বা vim এডিটর ব্যবহার করছেন। Esc কী পুশ করুন তারপর :wq টাইপ করুন এবং এন্টার পুশ করুন এক্সিট করতে। এটি একই পদ্ধতি যেভাবে আপনি অন্য যেকোনো সময় vim-এ থেকে এক্সিট করতেন। এটি ফাইলটি সেভ করে এবং তারপর এক্সিট করে, যা আপনাকে সরাসরি git-এ থেকে বের করে দেবে।
যেকোনো কিউ নোট করুন যা আপনাকে জানতে সাহায্য করতে পারে আপনি কোন এডিটর ব্যবহার করছেন। আমাদের উদাহরণ স্ক্রিনশটে, এক্সট্রা টিল্ড ক্যারেক্টারস দেখাচ্ছে নতুন লাইনগুলো যেগুলো এখনো একটি ফাইলে ইনসার্ট হওয়া বাকি, একটি টেলটেল গিভওয়ে যে git প্ল্যাটফর্ম আমাদের vim-এ ডালেছে। তারপর আবার, আপনি যদি না বুঝতে পারেন কোন এডিটর ব্যবহার করছেন, Esc পুশ করুন এবং :wq কমান্ড ব্যবহার করুন কারণ vi এবং vim এই পয়েন্টে প্রায়ই ইউনিভার্সাল তাই আপনি জানবেন এটি সাধারণত আপনাকে বের করে দেবে।
অন্যদিকে, আপনি যদি nano ব্যবহার করছেন তবে সহজে Ctrl+X পুশ করুন এবং y টাইপ করুন যখন জিজ্ঞেস করা হয় সেভ চেঞ্জেস কিনা। যেহেতু আপনি এন্টার পুশ করবেন, আপনি git-এ থেকে বের হয়ে যাবেন এবং যেখানে আপনি আগে ছিলেন সেখানে ফিরে যাবেন। আপনি সাধারণত টার্মিনালের টপে একটি লাইন দেখবেন যেটি পড়ে "GNU nano" এই কেসগুলিতে। যদি না, তবে উইন্ডোর বটমে কিবোর্ড শর্টকাটের একটি নম্বর খুঁজুন।
আপনি যদি বুঝতে পারেন যে এই দুটি মেথডে কোনটিই কাজ করছে না, তবে Ctrl+X এবং তারপর Ctrl+C পুশ করুন এক্সিট করতে। এটি আপনাকে git-এ থেকে বের করে দেবে অফ চান্সে আপনি emacs এডিটর ব্যবহার করছেন। এটি একটি অসাধারণ পরিস্থিতি। অধিকাংশ কেসে, Esc এবং তারপর :wq কাজ করবে এবং Ctrl+X এবং তারপর y কাজ করবে সেস কেসগুলিতে যেখানে সেটি কাজ করে না। আপনি Ctrl+X এবং তারপর Ctrl+C শুধু তখন ব্যবহার করবেন যখন আপনি জানেন আপনি emacs-এ আছেন অথবা এই দুটি মেথড কাজ করে না। Ctrl+C ও কাজ করবে, অ্যালবেইট সেভ না করে, আপনি যদি আপনার git টার্মিনালে JOE এডিটর ব্যবহার করেন।
একবার আপনি বের হয়ে যান এবং প্রম্পটে ফিরে যান, টার্মিনালে cat ~/.gitconfig | grep editor টাইপ করুন নিশ্চিত করতে আপনি কোন এডিটরে আটকে থেকেছিলেন। আপনি একটি লাইন পাবেন যা পড়বে কিছুটা editor = vim এর মতো, যা git ডিফল্ট করে যে এডিটরের নাম। ভবিষ্যতে, আপনি সেই এডিটর থেকে এক্সিট করার স্ট্যান্ডার্ড মেথড ব্যবহার করতে পারেন যদি, একটি নরমাল git মার্জের পর, আপনি আবার "Please enter a commit message to explain why this merge is necessary" লাইনটি দেখেন।
আপনি ফাইলটি এডিট করতে চাইতে পারেন, আপনি যে টেক্সট এডিটর সাধারণত পছন্দ করেন সেটি ব্যবহার করে, এবং এডিটরটি পরিবর্তন করতে পারেন যেটি আপনি পছন্দ করেন। স্ক্রোল ডাউন করুন যেখানে [core] লেখা আছে এবং তারপর সেটি লাইন পরিবর্তন করুন যেটি পড়ে "editor = vim" সেটিকে পড়াতে যেটি আপনি পছন্দ করেন। উদাহরণস্বরূপ, আপনি চাইতে পারেন সেটি পড়ুক "editor = nano" যদি আপনি ন্যানো এডিটর পছন্দ করেন কোডিংয়ের জন্য।
লেখক সম্পর্কে

কেভিন অ্যারোজ
কেভিন অ্যারোজ একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ যিনি এক দশকের বেশি ইন্ডাস্ট্রি অভিজ্ঞতা রাখেন। তিনি মাইক্রোসফট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেন এবং লেটেস্ট টেক ডেভেলপমেন্টস নিয়ে আপডেট থাকতে গভীর আগ্রহ রাখেন। কেভিন টেক-রিলেটেড واسعة বিষয়ে বিস্তারিত লিখেছেন, যেন তাদের সফটওয়্যার ডেভেলপমেন্ট, সাইবারসিকিউরিটি এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রে দক্ষতা এবং জ্ঞান প্রদর্শন করে। টেক ফিল্ডে তাঁর অবদান বিস্তৃতভাবে স্বীকৃত এবং সম্মানিত, এবং জটিল প্রযুক্তিগত ধারণাগুলো স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত বিবেচনীয়।