িগট ও িগটহাব জুনােয়দ আহেমদ থম এিডশন উইদ নােয়দ WITH.ZONAYED.ME জু প্র এক পলেক স এ থমতঃ এই বইেয়র সব ক সংর ত। তাই এই বইেয়র ক অ থাও বহার করেবন পাও এবং অব ই ইসােথ করেত চান তাহেল ধু মা গত উ খার উ ই হেত হেব থাকেত হেব। কের িব ব্যা ম্ব ক্রি কে শ্যে ন্য র্মে গ্র , ধ বাদ। প্ল্যা তা কে টি য়া যােব ন্ট প্রি ন্ট ন্ট ক্তি না টি র্কি ন্টে প্রি ব্যা ন্য শ্য ত্র টি ত্রে দ্দে র্শি ন্ট য়া গত বই িবউট ক রা ক্ষে না ম্প ন্টে শু ন্য ল্যে শে টা র্মে ব্য লো স্ট্রি নো টা প্ল্যা র্ণ উ যিদ ভােবই কমা য়ািল েতও িড ম্পূ ব্য সে ক্ষি কো ন্তু টি রো টি শ্য নু ফ্রি ত্ব কো শ্যে র্ণ ন্য স িবনামূ যােব। তেব প্ল্যা তেব বই সবসমেয়র জ টা করেত পারেবন। তেব এ উ কিপ কের বা , সহেজ পড়ার জ দ কের ন্য টফ । বই ন্য উ ন্য টফ র কােছ স উইদ জুনােয়দ দ্দে উইদ জুনােয়দ । ল্যে ধ থাক এেভইেলবল অবল ন করার সে অ টফ িকছু সাবধান বহােরর দ্দে জ উইদ জুনােয়দ িবনামূ ক্তি রেয়েছ, িক সং হ করার জ । র্মে যিদও বই ম্পূ প্র ত কথা থেমই আপনােক অেনক অেনক ধ বাদ বই র্বস্ব প্র কিপরাইট স অথ একজন ই েপ , িমং স ত ইবু ক পাবিলশার িহেসেব আিম আপনােদর সবার সােথ এই বই য়ার করেত ের খু বই আন ত। আপনা েন অ খু িশ হেবন আিম আমার ভিব েত এরকম টু কটাক িবষেয়র উপর আ উপহার আ ওয়ার র িমং ও সফটও েক বই আপনােদরেক করব। আমার এই বই িবশাল টফ কােশর মা েম র ই িনয়ািরং িরেলেটড িবিভ িবষয়সমূ হ আপনােদর সামেন সহজ, সরল এবং সাবলীল ভাষায় তুেল ধরার করব। তেব একজন ই েপ পাবিলশার িহেসেব আমার এই কাজ এবং যাবতীয় িবষয়সমূ হ কত র আগােব েপ আপনােদর র্ম ধ্য ষ্য থে আমােক ভিব েত পে প্ল্যা প্র ঞ্জি র্ণরু টা লো রো ম্পূ গু সে শে য়্যা টা টি র্কি পাই, তাহেল সে সা ম্প র্ট গ্রা পো গ্রা দূ ন্ট প্রো ন্ত ন্ডে ষ্টা লো প্রো র্ভ ন্ট ত্য চে ঞ্জে ন্ডে ন্ডি রে ষ্টা চে ন্ডি জে দে রা র্টে ন্ন ন্দি ষ্য েক এই িবষেয় ভা রো স র উপরই িন র করেছ। আিম যিদ আপনােদর সবার কাছ যে সা পো থে লে খেকর িকছু কথা অেনক অ র িবষেয়র উপর ইবু ক পাবিলশ করেত গােব। সবেশেষ আপনােক ধ বাদ ক অিভ ধ বাদা কের ইবু ক গ, পরাম আমােক জানা রজ অ সং হ করার জ , সােজশন থাকেল ধ থাক । , ন্য শ্য তা গ্র টি লো বা ষ্ট র্শ র্ন রো নু পূ ন্য ত্ব ন্য রু গু যো নো যো ণা ন্তে নো প্রে রো নু কো উইদ জুনােয়দ (with.zonayed.me) ন্য যে আ অব ই উৎস ক হ আমার সহধ জািকয়া আখতার নী র্মি লো রা র্গ … টি কে এই বই ০০ িকছু ক …………………………………………….. ১১ ০১ িগট িক?……………………………………………… ১৩ ০২ িগটহাব িক?………………………………………….. ১৮ িগট টআপ………………………………………… ২২ ০১ িগট কনিফগার……………………………………….. ২৪ ০২ িগট ির টআপ…………………………… ২৬ ক ক ……………………………………. ৩০ িজটির ০৩ টাস ০৪ িজং এিরয়ােত ৩৭ য়া ০৬ ফাইল মিডফাই কের আবার কিমট…………………… সে ৩৫ নে ০৫ ফাইনাল কিমট ক ………………………………….. রা ৩২ রা ও ……………………………. ত্র চে থা পো সে ০০ িগট রু শু স্ট্যা স্টে সূিচপ ০৮ কিমট লগ ৪১ ক………………………………………. ৪৪ ০৯ র ভা েন যাও …………………………………. ৪৭ ১০ ির……………………………………………. ৫০ কআউট…………………………………… ৫২ মিডিফেকশন……………………………. ৫৪ ইেন মা ……………………………………. ৫৯ এ ১১ ১২ নতু ন ১৩ ১৪ কিমেটর সােথ কিমেটর পা ……………………… ৬১ ০০ িগটহােবর সােথ িল ………………………………… ৬৫ ০১ িগটহােব শ…………………………………………. ৬৯ ০২ SSH ৭২ িগটহাব টআপ…………………………………… ০৩ িগটহাব েক ল…………………………………. ৮১ ০৪ িনেজর েজ েয় …………………… ৮৩ ০৫ িগটহাব েক েজ ন……………………….. ৮৮ ল ির েয় ……………………… ৯২ ০৬ অ েজ স্ট স্ট ক্য কো ক্লো ক র্থ কো ক্ট য়া ঙ্ক পু পু পু ক্টে প্রো ন্ট্রি র্জ ক্টে পু সে চে ঞ্চে থে প্রো থে চে র্শ ক্টে কী তৈ ব্রা মে প্রো ঞ্চ ঞ্চ ঞ্চ ন্য েজ র্বে পু পূ ব্রা ব্রা ব্রা প্রো নরায় মিডফাই কের কিমট…………………………. ০৭ ল ির িবউট েজ ……………………………………… ১০০ ০১ েজ ফ ………………………………………… ১০৫ ০২ ক িবউট……………………………………………. ১০৭ ০৩ এখ ষ হয়িন……………………………………. ১১৭ িল ট 🎉 ……………………………………….. ১১৮ ০৪ এ র িগট ০০ িগট ির র…………………………………………. ১২০ শ……………………………………………. ১২৫ ০২ িগট িরেসট…………………………………………… ১২৯ ০১ িগট ০৩ িগট িরভা ……………………………………………. ১৩১ ০৪ িগট িরেবস…………………………………………… ১৩৩ ০৫ িগট য়ািশং………………………………………… ১৩৭ অ ০০ িগটহাব বহার করব ……………………………... ০১ িগটহােব SSH ১৪১ িগটহাব অফার…………………….. ১৪৮ িকছু…………………………………………… ১৫০ রা না না ব্য ন্য জা র্ক খোঁ র্ট ব্য ক্ট ক্ট শে স্টো ব্রে ন্য ন্ট প্লো স্ট্যা স্কো নো ন্ট্রি ক্স ন্যা ০৩ আ বহার ১৪০ ক …………….………… েড েদর জ ০২ রো প্রো প্রো সে স্টু ০০ রু শু িকছু কথা আপিন যিদ আমােক িজ কেরন সবেচেয় ইউজফুল টু ল িগট। আমার সােথ আ । আিম এই অ েয় অেনেকই হয় একমত হেবন। আর কােজর বলার অেপ ই ন ই আসেল িভ কমন বহার করব? িদেত হেব। ই িজিনস। ন বারবার আমােক কমা লাইেন কমা ন আমােক এই এ আেরক িজিনস ঢু কােত হেব ন্ড ক্ষা ন্ধ টা লো দু ন্ট ন্ড চো ন্ন তা তো প্র টা টা শ্ন ডে প্র যে টা ট্রা দু ক্স টা না র্ন রো পূ সা ত্ব ব্যা লো রু কো জ্ঞা ধ্যে কে গু টা এক পলেক িগট ও িগটহাব - 11 ধ্যা কে ব্য মে না করব। থেমই মাথায় আেস, উইদ জুনােয়দ কে চ ইন কাজ িগট এর। িগট িশখার সময় সবার ম বো কের চ থাকেব। িগট আর িগটহাব িনেয় যােদর কনিফউশন আেছ, এই িগট খ ব িসকিল িগট িনেয়ই আ আর িগটহাব িনেয়ও একটু আ এখােন এর জগেত ন , তাইেল আিম তেব িগট আসেল কত রােখ েভলপেম না বল রু শু ০০ েজ । এ িক আসেল টাইম ওেয় মাথায় এটাই আেস, কারন এটার থাকেল এটােক অিতির এটার ? আর কাজ স এক থেম তাই মেন হেয়িছ থেম সবার ধার টু ল িহসােবই মেন হেব। আমারও । আর তাই আিম এই বইেয় যােত সবাই অ ত বু ঝেত পাের রকম উদাহরণ িদেয় িলখার করব। আর করার আেগ আেরক ক আিম এখােন চ বলেত চাইঃ িনেয়িছ এ অেনকভােব, অেনকরকম কমা থাও অ রকম িকছু অ ছাড়াও িদেয় ক ইম কাজ যায় িগট এ। তাই েখ কনিফউজ হওয়ার কারণ নাই। না ষ্টা না চে সে প্র নো র্কে কো ম্প না স্ট রা লো গু ত্ব রু থা সে গু ন্ড টা টা দে লো গু লো ক্ত এক পলেক িগট ও িগটহাব - 12 টা প্রো ন্ত অ্যা ন্য ক্টে যে টা ত্ব রু প্রো রু গু শু কো ন্য উইদ জুনােয়দ রু প্র শু আমার ই ব ওয়ািফ আর সািহর এর মাথায় খু বই ই ের ওেয়বসাইট করার ন আস । তারম ওেয়বসাইট এর ইউআই এক ওয়ািফ খু ব ভা এইচ এমএল, িসএসএস িলখেত পাের, একদম িপ ল পারেফ ড করেত পাের। ঐিদেক সািহর িপআই এবং জাভা িদেয় িবিভ ফাংশানািল খু ব ভা কের করেত পাের। িক তা ওেয়বসাইট ির করার লই দরকার। ওেয়বসাইেটর ইউআই ইসােথ ন করেছ খােন ই মন িঠকঠাক হও িপআই এর সােথ কােনকশন, িবিভ দরকার। অ ৎ তােদর ইজনেকই একই লাগেব, ফাংশানািল ও েজ কাজ করেত হেব। ক্ট টা টা লো টি দু লো য়া স্টিং সে ক্সে ন্টা ন্ন ক্টে টি প্রো ধ্যে প্ল্যা যে ন্ন লো কো তৈ দু এক পলেক িগট ও িগটহাব - 13 প্ট স্ক্রি প্ল্যা যে র্থা অ্যা রা টি ন্ধু ন্তু উইদ জুনােয়দ রু দু অ্যা স্কি সে শু ০১ িগট িক? চ েক েজ কর জনীয় এইচ এমএল, িসএসএস িলেখ মেপেজর কাজ কােছ গল ের সব ইেভর সাহা । থেমই জা ফাইল িজপ(.zip) কের সািহেরর পাঠা । সািহর এখন কের, আনিজপ কের, ওেপন কের ডাউন মেপেজ ড জনীয় ফাংশানািল র কাজ করেব। ওয়ািফ িক বেস আেছ, কারণ সািহর ফাংশানািল র কাজ ষ কের তােক িদেল তারপর আস ই িদ ই ষ কের আবার আেরক ফাইেল কর । এবার ওয়ািফ আবার অ কর , অ িদেক সািহর ওয়ািফর কাজ করেত থাক । এভােবই তা ল রাখার নামকরণ িঠকম েজ র কাজ আগা আর ডাউন ন ের এরকম অেনক ফাইল হেয় িজপ ফাইল বাদ িদলাম, িবধা স্ট ন্ড রু ক্ষা শু লো লো লো সে চ্ছি ন্য টা রু প্র টা শু অ্যা লো প্র সে টা টা গু লো ক্ট ক্ট গু লো ক্টে হো পে প্রো ত্যা প্রো শে পে প্রো ত্যা ন্য থে লো সে খে ন্ড ন্যা লো টা র্থে সে গু ল্ডা রা স্যা স্ক্র্যা ফো সু য্যে ক্ট টা ঞ্জ এক পলেক িগট ও িগটহাব - 14 ন্টা চে ন্তু টি সে তো কো লো ড্রা ন্ডি রা টি ন্য লো ম্প ন্ড গু শে ধ্যে লো লো য়ো ন্তু েজর হয়িন। উইদ জুনােয়দ রু , ড করেত করেত করলাম আর ধেরন িনলাম এেকক মাঝখােন আর অেপ য়াল কেরেছন? ডস এর েছ। িস ওয়ািফেক ষ হওয়ার জ তােদর এভােব ফাইল তােদর ডাউন েজ েজর ইউআই এর কাজ িক এখােন িক কেয়ক সম থমতঃ তা বাউট আস, িদ) কাজ ধরেব। সািহর পে কাজ ক শন, ক ইেজর( য়ো টা স এ বািক টি এরম র্ম প্র প্র হো শে প্র গে শু থেম ওয়ািফই একদম আেরক িবষয় েজ র িবিভ ভা ন য়াল করেবন সািহরেক বেস থাকেত হ করিছ ওয়ািফ যখন কাজ করিছ , আবার একইসােথ কাজ করেত পারেছ একসােথ কাজ কর ও তাহেল তােদরেক একজনেক আেরকজেনর িভতর মা করেত হ স এেন িনেজ িনেজ র সােথ আ আসেল েজ হাজা করেত সম আেছ করেছনই, বহার কের েজ ইম েম ইসােথ আপনােক অ আপিন করার পির ম েভলপারেদর সােথ এ টা টা ক্টে শ্র দু না দু প্রো তো র্থা লো গু ধ্য যে ষ্ট ন্ট লো চ্ছি প্লি ডে সে স্যা শী ন্য বে ক্ট লো ন্যা গু রো যে যে প্রো তো ঞ্জে লো চে চ্ছি রো ক্টে শ্র তো েজ র এক পলেক িগট ও িগটহাব - 15 র্শ টা ন্ন খে প্রো ক্ট ব্য সে স্যা প্রো স্কি টা ক্টে র্জ লো প্রো ন্টি ইজনেকই হেয় যােব, লাগেব। এেক উইদ জুনােয়দ রা । যিদ র কারেণ মন অেনক ক সা ইসােথ সময় ও পির মও অেনক ল ইজন । এসব সম আপনার । অ ৎ লো তা েজ তখন ইমভােব সািহর যখন কাজ তখন ওয়ািফেক বেস থাকেত হ ক িনউয়াসিল রু সে শু একই বরং েজ টােক টবড় েনজ করেতই অব েজ ই ক ন । এটার এক িগট হ সিঠক উপায় আেছ, ভা ন ক ধান এবং ল িস ইমা হ জা আপনার মন/চািহ নতুন কেয়ক কােজর ম েজ র ম ক । আপনােক বারবার নতুন কের আেগর েজ ের/িডের িরেত রাখেত হেব িগট এর কমা েজ র িগট আসেল িক? আপনার েজ র নতুন ভা েনর জ কের আেরক িগট ও িগটহাব ম। িগেটর অেনক কাজ হ ক কের রা টাইট হেয় যােব। ন, এ আসেল সিঠক উপায় বহার ক । তাই থেমই আম জান কিপ । আপিন িদেয়ই চাইেল আপিন আপনার ক ক আেগর ভা েন চেল েত পারেবন। আবার একদম নতুন ভা েনও চেল আসেত পারেবন। এর জ আপনার এক িডের িরই থাকেব, থাকেব আপনার েজ েজ র ভা ন ক ফাইেলরও এক কিপই র িডের িরেত। আপনােক আপনার করার জ ফাইেল হাত িদেত হেব । সব িগট কের িদেব। এখন িগট বহার করেল খু ব সহেজই উপেরর উদাহরেন এক ফাইলই থাক , িক িগট কমা েতও র সাহা আেগর ভা ন চাইেল আবার আম ঞ্জ রা ধ্যে ন্যে চে টা ক্ট টা না বো ত্যে প্রো প্র লো গু ক্টে স্থা চ্ছে যে টা ন্তু তো টা যে টা প্রো নো সে ব্য বো ক্ট কো লো কে দা তো ক্ট ত্যে গু প্র না ন্যে ন্ড র্শ র্শ রা ন্য রু স্টে চ্ছে ম্যা ক্টে ল্ডা ক্ট র্শ টা ফো ঞ্জ ক্ট রা প্রো েত পার । এক পলেক িগট ও িগটহাব - 16 র্শ ক্ট ন্ট্রো চে প্র রী য্যে প্রো টা খা যে টা র্শ টা টা প্রো প্রা ট্র্যা র্শ রা ন্ডে লো ক্টে ক্টে ক্টে ছো টা স্ট উইদ জুনােয়দ রু সে না ব্য প্র ট্র্যা প্রো প্রো প্রো না শু কের আম মােঝম িস ম রেয়েছ আমােদর মন লাগেব খেল ব হেয়েছ িগট ছা খার জ । আর ভা এর মা েম আম ইন ও েজ র সােথ মা েক আবার কের ইন েজ কমা িদেয়ই আবার । আর য়া হাতই আমােদর ফাইল িডেলট ক িকছুই ক লাগেব । টা টা রা সে লো ক্টে ক্টে কে মে ফে সে নো ত্রে কো প্রো প্রো রা কো ব্যা লো ক্ষে কো টা লো ক্টে না লো প্র স্ট গু তো তো টে না না প্রো ন্ড লী কো যে লো রা নু ড়া লো ন্ড খা ফে মে ম্যা খা লে টা ক্টে ক্টে রা দে না ধ্য ত্রে ত্রে টে প্রো স্ট র্জ প্রো লা তো স্টে লী বো ক্ষে রা সে অ্যা ন্যে নু তো ক্ষে র্কে ঞ্চ মে ম্প টা ইন ড মু েছ এক পলেক িগট ও িগটহাব - 17 ম্যা ব্রা না দে ক্টে সে ঞ্চিং টা ক্রি ব্রা ঞ্চে ধ্যে সে দে ক্টে তো ঞ্চ ব্রা প্রো টা ব্রা ন্য থে সে টা প্রো ক্টে বা মে ঞ্চ য়া রা রা ব্রা লা ন্তু ঞ্চ আম ইন উইদ জুনােয়দ তো লাগেল চেল আিস। এ কাজ কেরিছ, তাই চেল আসেত পার খােন লাগেল িল, আর ভা েজ েজ র িদেয়। তারপর কির। তারপর ভা হয় নাই। খু ব সহেজই কেয়ক েজ লেত স এভােবই আমােদর েয়ট কির িকছু কমা আমােদর নতুন িফচার েহতু অ মু েছ লাগেল নো আম মন । িগট এ আেরক করতাম ড না িক হ আমােদর লাগেল আবার সব নতুন য়া েজ র আম । তারপর ভা , ফাইল িডেলট কর েখ িদেত হ হয় ড করতাম। তারপর জায়গায় িগেয় িগেয় হ একবার িফচার যােব আসেল িফচার । েজ ই , িফচার ধার নাই। ভািব হয় সােথ যায় িক যায় ইন ধান কাজ হ যায় আমােদর এই িফচার স ড কের িনেয় টার নতুন অজা েজ ড করেত চাই। অেনক রু অ্যা কে অ্যা মে রে ব্রা সে যে দে প্রো ফে শু এখন এছাড়াও িগট িগটহাব িসকিল শাল? িস সা স, তেব একটু িঠক অ মান করেত শাল। মন েরেছন, এ িগট ভা ন ক ল ভাইড কের। আর সােথ িকছু ইউজার েমর জ ই রেফসও ভাইড কের িগেটর কাজ িগটহাবই একমা িবটবােকট, িগট ভাইডার বসহ আ করার জ । এখন এখােন, আ মন অেনক আেছ। িক আিম এখােন িগটহাব হাইলাইট কেরিছ। কারণ িগটহােবই অেনক বড় বড় ওেপন অেনক েজ রেয়েছ আর এটাই প লার। আর এেদর সবার ই রেফেসই কাছাকািছ, এক লেল অ রেন ভ িহেসেব িবটবােকট, িগট শী রু শু বে কে ন্ট্রো যে টা ন্যে রো থে র্শ স্পে ল্যা টা লো গু না ক্ট পে প্রো র্ভি ন্টা প্রো রো প্রো স্টিং স্ট স্ট নু হো টি হো ব েক এক পলেক িগট ও িগটহাব - 18 র্স হো লো সো ত্র গু ল্যা ন্য ন্যে প্রো ল্টা ন্যা হ্যা ব্যা স্টে ন্তু পু উইদ জুনােয়দ ন্টা িশেখ েতও আপিন সহেজই কাজ করেত পারেবন। িগটহােবর অ রু স্পে ফে শু ০২ িগটহাব িক? বড় এরকম সা স এেভইেলবল আেছ, িবিভ ম িবিভ িব -অ িবধার কারেণ একটার উপর আেরক চেয়জ কের। িগট ও িগটহাব এখন এ েত আমার বহার কের কের িক লাভ? মওয়া েজ মােঝম করেল একািধক মসহ আমােদর বািক য়ার করেত পার িগটহাব/িবটবােকট/িগট এইধরেনর ব িদেয়। ন্ন বা স্টিং হো রা টা টি ন্যে ধ্যে ব্য ডে রা স্ট ক্টে হো স্ট র্ভি প্রো হো ক্ট কে স্টে র্ক বো বো প্রো ল্যা টি ন্ট্রো এক পলেক িগট ও িগটহাব - 19 কো সু টো বা ছো ধা র্শ সু ব্য খ্য লো ন্ন গু ক্টে ক্টে মেমটেদর বহার কের, উইদ জুনােয়দ শে একই চাইেল আমােদর হ্যাঁ সােথ ল িস একািধক েভলপার েজ র উপর কাজ কের। এখন আম েজ র ভা ন ক িঠক, ন আমােদর এজ ভাইডারও লাগেব। আমােদর েভলপার থােক লাবেরশন েজ টাই এখন খু েল বল রু টি সে প্রো ডে প্রো প্রো শু কের অসং মেমটরাও আমার আেগর ভা ন েজ পােব, চাইেল আমার খেত পারেব, আবার চাইেল িনেজও নতুন ও ভা ন ইম ড কের আবার িগটহােবর মা েম পারেব। আর আিম আবার িগেট কমা কাল িড িনেয় আসেত পার এখন িগটহােব েজ এভােব ওেপনও রা েজ ও রা খেবন খােন কেয়ক হাজার সবই স ব হেয়েছ মূ লত এই এস এর িগটহাব েজ ির ক্ট প্রো শে ন্ট্রি সে ধ্য ম্ভ খা টা ক্ট ন্ড ডে প্রো লো গু বো পো সে ক্ট ক্টে র্ভি খা দে এক পলেক িগট ও িগটহাব - 20 ক্ট প্রো প্রো তো অ্যা ক্ট লো প্রো গু র্শ স্কে প্রো যে র্শ টি টা জে েজ েভলপার ক িবউট কেরেছ উইদ জুনােয়দ ক্ট যায় আবার চাইেল সা েসর কারেণ। ির অ্যা ভা ন আমার যায়। িগটহােব এমন অেনক েজ । এ িগট ও িগটহােবর ম য়ার করেত । ইেভট একইসােথ, একই িদেয় র্শ আেরক রু লো প্রা দে শু আমার িগট িগট টআপ বহার করেত চাইেল অব ই আপনােক িগট এখান(git- scm.com) েথেক ডাউন িস ড কের ই টল করেত হেব আপনার েম। আপনার অপাের িস ম টাই হউক ন, সবার । খু বই িস ল, যিদ িকছু জ ই িগট এেভইেলবল। েসেস আিম িব িরত যা ষ হেল এক েকশন পােবন। এ করেল কমা অপাের কমা ওয়ার উই িস েমর কমা েম । এ ওেপন বহার করেত পারেবন। এজ কে প্র না ম্প ন্ট এক পলেক িগট ও িগটহাব - 22 ব্যা রো ন্স যে না টা বো ক্স স্টে শ্য নে ব্য ন্ড ক্স ন্ড টিং লো ন্ডো নে স্তা টা স্ট শ (Git Bash) লাইন এনভা িগট শে রা দে স্টে সে ন্ড না প্র সে টিং ব্য প্লি স্টে িগট েসস কম ট পােবন, এখােন আপিন ইউিন -লাইক উইদ জুনােয়দ ন্য টাপ ন্যে টাপ ক ট িদেয় প্লি ক ন। ট ক্স পােরন জা টা বু ঝেতও সে টাপ রু সে অ্যা িগট ০০ থাকেল সহেজই এখােন অথ আজেক এখােন িগট র সােথ পিরচয় কমা বহার করব িশেখ লেলই আপাতত আপিন বহার করেত পারেবন। এখন আপিন চাইেল আপনার ক উটাের থা সব কমা লাইন/টা নাল চালােত পারেবন। আপনার পছ কের িনেচর কমা > এর কমা বহার করেত পারেবন। ন িকভােব কাজ কের র কমা েকই এখন িগট লাইন/টা নাল ওেপন িলখু নঃ git --version এরকম িকছু আউট েট আপনার িগেটর ভা ন এ না র অব ই আমার খা টার খা লো র্শ গু সে র্মি চ্ছেঃ দে ন্ট দে ন্ডে থে এক পলেক িগট ও িগটহাব - 23 র্শ ব্য ফে ন্ড লো র্মি গু চে ক্স ন্ড ন্দে লো গু ন্ড নো ক্স যে সে দে ব্য যে িগট পু টি কা ন্ড শ্য টা ব্য টা বা ম্পি উইদ জুনােয়দ টা হেব, কারণ git version 2.30.1 (Apple Git-130) র্শ > খােব। ভা ন েয় িডফাের আমার আিম যখন এই বই িলিখ তখনকার ভা ন ম্বা কো আপনার আেগর িকছু িলনা /ইউিন ০১ িগট কনিফগার বাল িকছু কনিফগােরশন কের িনেত হেব সবিকছু িগেটর করার আেগ। খু বই িস কের িনেচর কমা ল। জা আপনার কমা লাইন িনেজর নাম এবং ইেমইল িদেয় ওেপন টাপ কের িনন। িনেচর কমা িগট এর িস েজ েম যত বাল কনিফগােরশন। অ ৎ আপনার িগট বহার করেবন তার সব ইউজােরর নাম আর ইেমইল িহসােব এ git config --global user.name "Zonayed Ahmed" > git config --global user.email “zonayedpca@yahoo.com” রু শু লো গু টা সে র্থা এক পলেক িগট ও িগটহাব - 24 ন্ড ব্য লো গু স্ট ব্য গ্লো ম্প িগট ক্টে লো গু ন্ড লো প্রো গু ন্ড গ্লো বহার করেব। > উইদ জুনােয়দ স্টে ই েত এখােন। িক স কাজ কম ট। আপিন যিদ চান একািধক েজ র জ একািধক নাম ও ইেমইল থাকেব তাহেল global কীওয়া ও তার আেগর হাইেফন েট িদন। মন আপনার িপিসেত অিফেসর এক আেছ আবার আপনার পা নাল এক েজ রা আেছ িগটহােবর আপনার অিফেসর আপিন ই কাউ নাল িগটহাব কাউ ম আর ইেমইল ট ক বাল ইউজারেনম, ইেমইেলর পাশাপািশ git config user.name "Zonayed Ahmed" > git config user.email “zonayedpca@yahoo.com” অ েজ িগট ধু মা ই ক্ট ন্য ন্টে প্র ন্তু ক্টে ত্র ক্টে ক্টে টা লা অ্যা শু প্র প্রো খো প্রো দে ন্ট ক্ত ন্য এক পলেক িগট ও িগটহাব - 25 ক্ট কো রা অ্যা ব্য ক্টে সে প্র র্ড টা ন্ড সে প্র ক্সে র্সো ব্য অ্যা র্সো িগট প্লি ন্টে যে নে ন্য খা অ্যা র্সো সব টআপ করেত পারেবনঃ > ব্যা সে টি ক্টে কে ক্ট েজ বহার কের ইউজারেনম ও ইেমইল উইদ জুনােয়দ ক্টে ন বহার করেত চাইেল উ ইিনিশয়ালাইজ করার পর এভােব কমা যিদ খােব। এজ সে ন ইউজারেনম, ইেমইল েজ থােক তখন িক েজ ই আপনার একই নাম ও একই ইেমইল েজ র জ । হেয়িছল নাল ইেমইল িদেয়। তাহেল আপনার বাল ইউজার ন্তু কাউ স কেরন আপনার অিফেসর ইেমইল ন্য আপনার পা েজ আেছ। অিফেসর েজ িদেয়। আর আপনার পা টো দু প্র গ্লো প্র গ্লো কো প্রো িঠক এভােবই আপিন আপনার নাম আর আপনার ইেমইল িদেবন িগেট িডের িরেকই সকািল ির শ কােট অেনেক ‘ির েজ শ করেত চাইেল কমা অপশন পিরব ন কের েজ র িভতের রাইট অপশন ক করেল ত েজ শ ক্ট ব্যা থে প্রো স্টে দে ন্ড ত্রে র্ট ঙ্ক্ষি ক্ট স্টা ক্ষে টিং এক পলেক িগট ও িগটহাব - 26 র্ত নো সে ক্লি কো ক্টে যে পো প্রো ন্ড যে নো নো বা ক্লি কো পো কো ক্টে ব্যা িগট ক্ট ব্যা পো থে দে প্রো রে ক্ট যে ক্টে সে ক্ট প্রো ক্ট েম) নােম খােন আপিন কমা িলখেত পারেবন। উইদ জুনােয়দ টা িস ক করেল এই িডের িরেত িগট না ওেপন হেব েক থােকন খেবন Git খােব। এটােত আপনার কা িডের িরর িভতর েক আপিন যিদ Bash Here(িবেশষ কের Windows অপাের এক লাইন েত হেব। টােপর সময় তাহেল আপনার িগট আপনার েজ র িডের িরেত িগেটর িজটির (Repository) (Repo)’ বেল। আপনার অলেরিড আেছ এমন থেম আপনার িগট ০২ বা েজ র্ট প্রো প্র সে সে িগট িজটির টআপ এ খ ন ধ ির আ প না র D e s k t o p এ এ ক িড ের ির আেছ learning-git নােম(আপিন চাইেল কমা সাহা কমা িদেয়ও এই িডের ির ির কের িনেত পােরন অথ বহার কেরও নতুন িডের ির/ ইউআউ র ির কের িনেত েরর িভতের িকছু ফাইল পােরন এই নােম)। আর এই িডের ির/ রাখ লাইেনর আম friend-list.txt আর QnA.txt নােম। ধির, friend-list.txt ফাইেলর িভতের ক আেছ এরকমঃ Dibakar Sutradhar S M Shahadat Hossain Reduanul Houque Munna Ar Rolin Niraj Paudel Tanvir Faisal Moon Sagar Neupane Yadav Lamechane আর QnA.txt ফাইেলর িভতের আপাতত িকছু রাখার দরকার নাই, এ খািলই রাখেত পােরন। আম আপাতত আমােদর friend- list.txt ফাইল িনেয়ই কাজ করব। বা ক্ট ন্ট ন্ড ন্টে টা এক পলেক িগট ও িগটহাব - 27 তৈ ল্ডা ল্ডা ফো তৈ ফো ক্ট টা ক্ট রা িগট ক্ট টা ন্ড রা ব্য য্যে বো টা উইদ জুনােয়দ েজ , এখােনই আম করেত চাই। তাহেল আিম আমার কমা িগট ইেনিশেয়লাইজ লাইন এই িডের ির ওেপন কের িনেচর এই কমা িলখ > git init এরকম আউট ট > খেবন Initialized empty Git repository in /Users/zonayedpca/ Desktop/learning-git/.git/ আিম learning-git িডের িরর িভতর init কমা টাপ হেয় স এখন এই িডের িরর িভতের িগেটর ির । এখন েক িগট সব পারেব, এই িডের িরর িভতের য ক করেলও িগট আপনােকই র আেছ সব। তেব েক ভা ন িহসােব র করেব েসিফকিল বেল িদেত হেব ন টা পো না কো ক্ট শু থে রা কো এক পলেক িগট ও িগটহাব - 28 স্টো ল্ডা রা ট্র্যা ফো ক্ট ন্ড ক্ট র্শ তো যে ক্ট থে বোঃ লো গু স্পে প্রো িগট সে ন্ড ব্যা দে ক্ট লো সে পু গে ন । ইভ করেত হেব। উইদ জুনােয়দ ন্ড করেত ফাইল/ রু কখন িকভােব ক ক টা তারজ েক git েহতু আিম এটার িভতেরর সবিকছুই রান করলাম ক করেত চাই। ন্যে ট্র্যা সে ট্র্যা এখন এটাই আপনার কােজর আমার এই িডের িরর িভতের ই এখন আিম চা আমােদর উ িগট ভা ন িহসােব ই জ িখত ফাইলেক চাইেল .txt ফাইল আেছ। এ ইভ কের রাখু ক। তারজ স করেত হেব। থেম িগট আপনার িজং এিরয়ােত িনেব, তারপর আবার আপিন ফাইনাল িহসােব আপনার িগট ির পারেবন। এই ই েজর জ করেত হেব(অথ িশখার িবধা িস পৃ থক পৃ থক ই ল কমা আম েত কিমট করেত কমা বহার কেরও ক এখােন আলা আলা বহার যােব, িক কমা িদেয়ই কাজ করব)। ন্তু লো ন্যে গু ব্য ন্ড রা ন্ড টা পো এক পলেক িগট ও িগটহাব - 29 দু প্র দা সে দা ব্য টা দু ন্ড ন্য ক্র র্শ িগট ঙ্গে রা স্টে স্টে ক্ট স্টে বা চ্ছি দু টা র্থে দু টা সে সু ফ্লো ল্লে উইদ জুনােয়দ তার আেগ আম টাস ফাইল ০৩ ক িগেটর ব মান অব খেত চা ন িজং এ আেছ। খেত চা ন ফাইল জ , মােন ব মান কক হয় িন িনেচর এই কমা ন বহার করেত হেবঃ git status list.txt নােম। আিম ই ফাইলই এখােন আন- সােথ িকছু িহ ও িদেয় িদ িকভােব ফাইল । আর চ্ছে ব্য দে চ্ছি রা ন্ড এক পলেক িগট ও িগটহাব - 30 ট্র্যা ট্র্যা গু ট্র্যা দে স্থা ত্র ন্যে কো সে টা র্ত চ্ছে দু যে চে খা ক করেত হেব। িগট কো টা চ্ছি ক্ট দু রা ন্ট দে উইদ জুনােয়দ স্টে কড কো তাই েহতু মা ই িগট ইিনিশেয়ট করলাম এই বা েজ ফাইল আেছ QnA.txt আর friend- র্ত আমার এই িডের িরেত ই লো > ক্টে স্ট্যা প্রো স্ট্যা টাস করা > On branch main No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) QnA.txt friend-list.txt nothing added to commit but untracked files present (use উইদ জুনােয়দ িগট এক পলেক িগট ও িগটহাব - 31 িজং এিরয়ােত ওয়া আিম থম QnA.txt ফাইল িজং এিরয়ােত িনেত চাই। ০৪ ক করেত চাই জ টােক বেল আমােক এভােব কমা িদেত িডের িরর িভতের হেল তাহেল ভােব হেবঃ > git add QnA.txt এখন আপনার ফাইল ফা ই েল র ফা ের িদ েত হ git add <Your file> এভােব। এখন আবার git status িদেল টাসঃ সে ন্ড যে এক পলেক িগট ও িগটহাব - 32 বা ন্যে ক্ট তো ট্র্যা টা সে নো িগট কো ন্স রে স্ট্যা প্র স্টে নে র্ত স্টে উইদ জুনােয়দ দে ব মান খেবন > git status এখােন এখন ই উপের খা িনেচ আেগর > কশন খা । ক কেরিছ Changes to be committed ই আন- কড ফাইলটাই এখন কশন এ। আর খা On branch main No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: QnA.txt Untracked files: (use "git add <file>..." to include in what will be committed) friend-list.txt আপনার ফাইল QnA.txt সে সে এক পলেক িগট ও িগটহাব - 33 স্টে চ্ছেঃ ট্র্যা ত্র টা দে যে শু চ্ছে দে িগট ট্র্যা সে র্তে টা দু সে চ্ছে দে হো উইদ জুনােয়দ ধু মা এই ফাইলটােকই ভা ন টা আেছ, তাই এখন কিমট করেল িগট িজং এিরয়ােত র্শ ক এই মু হূ যাই রীেত রাখেব। আর এখ ক ক িনেয় িকছু করেব । এখন যিদ আম িভতেরর সব আন- কড ফাইলেক হয় নাই চাই টােক এই িডের িরর ক করেত এক কমা িদেয় তাহেল এভােব িদেত হেবঃ > git add --all অথবাঃ > git add . এখন git status িদেল খেবন সব িজং এিরয়ােত আেছ। এখ ক হেয় ফাইল আন- আেগর QnA.txt এখ েছ, মােন কড নাই। েহতু এ িজং এ আেছ, আম কিমট কির নাই। আর সােথ এখন friend- lists.txt ও চেল আসেছ। এখন কিমট করেল ই িমেলই টার এক ভা ন রাখেব িগট। রা ক্ট ন্ড সে টা টা গে দু ট্র্যা টা যে রা এক পলেক িগট ও িগটহাব - 34 যে ট্র্যা রা ট্র্যা ট্র্যা নো নো দে কো টা স্টে যে িগট নো না ট্র্যা র্শ টা নো স্টো উইদ জুনােয়দ রো স্টে পু িহ কিমট হ আপিন ফাইনাল িস স েক িগট ির একিদন পের ক ক েসজও িদেত হয় যােত পরব েত এক বছর পের বু ঝেত িব হয় অমু ক কিমট । সবিকছু এক লাইেন এভােব হেবঃ কারেণ ক হেয়িছ > িনেবন আপনার েত রাখেত। এখন কিমট করেত চাইেল, ক কিমেটর সােথ এক িক git commit -m “QnA and Friend Lists Added" এখােন QnA and Friend Lists Added হ এই কিমেটর েসজ। কমা ও হেল এরকম আমােদর েসজ খেত পােবনঃ রা র্তি টা দে ট্র্যা চ্ছে এক পলেক িগট ও িগটহাব - 35 ম্যা ধা সু ন্ত য়া দ্ধা ম্যা দে ন্ড টা িগট পো লো বা ম্যা লো রা চ্ছে গু ঞ্জে উইদ জুনােয়দ ত্যে চে প্র ০৫ ফাইনাল কিমট করা > [main (root-commit) 7810dd3] QnA and Friend Lists Added 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 QnA.txt create mode 100644 friend-list.txt আপিন িজং এিরয়াের পারেবন । ওয়ার আেগ নো কো িগট নে স্টে না উইদ জুনােয়দ িকছু কিমট করেত এক পলেক িগট ও িগটহাব - 36 ০৬ ফাইল মিডফাই কের আবার কিমট এখন আমার এক আ ভা ন হেয় । িক অ েন ক কা জ আ েছ । আ িম চা lists.txt ফাইেল সব েদর আমার েজ friend- ন না র ইভ কের রাখেত। ব মােন ফাইল এরকম আেছঃ Dibakar Sutradhar S M Shahadat Hossain Reduanul Houque Munna Ar Rolin Niraj Paudel Tanvir Faisal Moon Sagar Neupane Yadav Lamechane ক্টে প্রো সে ম্বা ন্তু এক পলেক িগট ও িগটহাব - 37 চ্ছি ফো লো গে ন্ড ফ্রে রী তৈ টা িগট র্শ টা র্ত রো উইদ জুনােয়দ ট ফাইল এিডট ক একই ক । আিম আর ড এিডট ক ট ফাইেলর সাহা খা বু ঝেত িব হয়। এখন আিম সবার সােথ যােত সবার ন না র ড করবঃ Dibakar Sutradhar - +88018XXXXXXXX S M Shahadat Hossain - +88018XXXXXXXX Reduanul Houque Munna - +88018XXXXXXXX Ar Rolin - +88018XXXXXXXX Niraj Paudel - +9718XXXXXXXX Tanvir Faisal Moon - +88018XXXXXXXX Sagar Neupane - +9718XXXXXXXX Yadav Lamechane - +9718XXXXXXXX এখন ট এিডটর মিডফাই করলাম ড এিডটর টােত git status হ আপিন কিমট করার জ পরব ন জড ক ও হয়িনঃ রা ন্য লো অ্যা চ্ছি কো ম্বা এক পলেক িগট ও িগটহাব - 38 ব্য নো দে কো গু য্যে ফো যে বা র্ত চ্ছেঃ রা যে রা দে কো সে ক্স বা িগট য়া টে চ্ছে স্টে নে সে টা ন্য লা ক্স টে ধা থা উইদ জুনােয়দ ক্স ফাইনাল কিমেটর জ গু িজং এিরয়ােত হয়িন, কেরেছন সে এখােন মূ লত ব সু বহার কের ফাইল খা লো > টাই ইভ িদেয় git status েচক করেল খেবন ফাইল এ মিডফাইড টে দে স্টে এখােন এই > On branch main Changes not staged for commit: (use "git add <file>..." to update what will... (use "git restore <file>..." to discard changes... modified: friend-list.txt no changes…commit (use "git add" and/or “git commit -a") এখন এই আন- কড ফাইলটােক িজং এ িনেয় ফাইনাল কিমট কের িদেত চা > git add --all এবং ফাইনাল কিমেটর জ > git commit --m "Contact Numbers Added” > [main xxxxxxx] Contact Numbers Added 1 file changed, 8 insertions(+) স্টে িগট ন্যঃ ট্র্যা চ্ছিঃ উইদ জুনােয়দ এক পলেক িগট ও িগটহাব - 39 ওয়ার পের িনেচ উপেরর ম খেত পােবন। ন এরর কের আসেল িক হেয়েছ। বই েক বই েক যিদ কিপ কেরও থােকন তাহেল একটু িশউর হেয় িনেবন সব ড কিপ এরকম আউট ট ভুল হেল অব ই অ রকম আউট ট আসেব, তাই পেড় িশউর হেয় িনেবন য়ািল হােত খার িঠকঠাক কিপ হেয়েছ িক । এই মা (“…") কিপ করেল করেবন। মন ডাবল েটশন িঠকঠাক কাজ কের আপনােক িনেজ ডাবল েটশন মা , য়ািল িলেখ ইন ট িদেত হেত পাের। পু পু না কো ষ্টা নু চে ম্যা ন্য র্ক তো এক পলেক িগট ও িগটহাব - 40 লে যে শ্য টা যে না সে কো নু ম্যা বা িগট না কো দে ন্ড কো লো ত্রে লো থে থে গু গু ক্ষে পু উইদ জুনােয়দ র্ক ব্যা দে সে স কমা এত ণ ধের হয় িবিভ জায়গায় িন য়ই এক েখেছন। িবিভ জায়গায়। সামিথং main টাইেপর িকজািন িল যিদ আপিন git status কমা > git status > On branch main ... এই main হ ব মান উেঠ। অথ বহার কেরন তাহেল েতই এরকম(On branch …) এক পােবনঃ র নাম। অ ৎ ব মােন আপিন ব মান ওয়া ইন িডের িরেত আেছন। এটাই আপনার েজ র ব মান ভা ন। বা মে দে খা খা লে টা খা ব্য লে টা র্থা টি শ্চ ন্ড ক্ট ঞ্চে ন্ন ব্রা এক পলেক িগট ও িগটহাব - 41 র্ত র্ত র্কিং িগট র্শ তো লো র্ত র্ত বা ক্টে ন্ন ক্ষ রু উইদ জুনােয়দ ঞ্চ শু ব্রা প্রো ০৭ পুনরায় মিডফাই কের কিমট েভলপেম ভা েন িফের পর এক েত হয়। এক এ অেনক সময় এক সময় এেস িগট এ ভা েন িফের আপনার েজ কাজ করেছ । থাকেল আপিন সহেজই আপনার ই ক করেত পারেবন, চাইেল রকমটাই খেবন। কৃতভােবই friend-lists.txt িভতের এখন ই ডক ড রানও করেত পারেবন। িঠক ঐসময় আপনার রকম িছ আম র এখন েত পারেবন আর েজ র েভলপড করার য় িক ক ক যায় কের িফচার ম ভা েন িঠকঠাক কাজ কর ন না র মু েছ িদেয় কিমট করব আেরক । মু েছ লার পর ফাইল এরকম হেবঃ Dibakar Sutradhar S M Shahadat Hossain Reduanul Houque Munna Ar Rolin Niraj Paudel Tanvir Faisal Moon Sagar Neupane Yadav Lamechane িজং এ নো সে না র্বে পূ কো বোঃ পূ খা দে ডে টা যে এক পলেক িগট ও িগটহাব - 42 টা সে দে খা চে দে দে টা ন্তু কো ব্লে অ্যা প্র ন্ট টা তো নো রা লো সে কো গু িগট স্টে লো ম্বা ট্র্যা ডে ক্ট চ্ছা টা যে যে ফো প্রো সে যে টা রা টা ক্ট ত্রে রা ক্ষে র্শ র্শ উইদ জুনােয়দ ড কের কিমট কের িদ টা ইভ কের র্বে এখন এ র্শ সে প্রো অ্যা ফে এখন আমােদর > git add —all এবার কিমট েসজ িলেখ কিমট ক নঃ > git commit --m "Contact numbers removed” > [main xxxxxxx] Contact numbers removed 1 file changed, 8 insertions(+), * deletions(-) িগট রু ম্যা উইদ জুনােয়দ এক পলেক িগট ও িগটহাব - 43 ০৮ হায় হায়! এ !!! িক হেব এখন? িক হ িগট িদেয় !! ন না র সব ক কেরই না র েখিছ সব। েখিছলাম? ন কিমেট জািন ন খেত চা । সব কিমেটর লগ খেত চাইেলঃ git log কিমট আেছ। সােথ িডেটইলস সহ, কিমেটর েখ সহেজই বু ঝেত পারেবন য় িফের রা এক পলেক িগট ও িগটহাব - 44 ব্য লো কো গে লো গু বোঃ দে ম্বা টা রে সে কো ম্বা ফো হ্যাঁ িগট যে লো লো ট্র্যা লো তো লো রে টা টা গু লো র্শ গু । আর েত পার উইদ জুনােয়দ ম্বা েসজ বহার কের আম রা র ভা ন না র আেছ। এ হেয়িছ ফো েম ম্যা সােথ িকছু এ ন কিমেট িক ক লো এখােন িতন চ্ছি > র্বে হ্যাঁ দে দে পূ চে কিমট লগ ক > commit 34432c0a1fabb801ae...3c4358f60d4a1 (HEAD -> main) Author: Zonayed Ahmed <zonayedpca@yahoo.com> Date: Sun Dec 11 12:10:41 2022 +0600 Contact numbers removed commit fac6322f14171b250a15f888ccf3d2874f7cff0d Author: Zonayed Ahmed <zonayedpca@yahoo.com> Date: Sun Dec 11 11:48:11 2022 +0600 Contact Numbers Added commit 7810dd39b0e59af3d9c40151462a9655a4008470 Author: Zonayed Ahmed <zonayedpca@yahoo.com> Date: Thu Dec 8 22:15:52 2022 +0600 QnA and Friend Lists Added িবঃ এই অব েন আ আপ-ডাউন কী কিমট (যিদ থােক) খেত কী বহার করেত পােরন। আর এখান েক র র হেত q বাটন চাপ িদেলই হেব। আ ও যােবঃ বে থে এক পলেক িগট ও িগটহাব - 45 দে র্শ ম্প্যা রো য়া িগট ব্য ন্দ স্ক্রি সু দে লো স্থা গু রো টা টা ন্ড উইদ জুনােয়দ দ্রঃ খেত চাইেল উপেরর র্ডে এভােবও ক ভা েন দে কমা র কের ক বো এই লগ git log --oneline এখােন র কের কের এইখােনর শ কাট এ ও > েম জনীয় সব ইউিনক কিমট আইিড হেয়েছ। এই শ ভা ন ভা েন ও খা । এখন ও শ কের বহার কের আেগর কা ত েত পারেবনঃ 34432c0 (HEAD -> main) Contact numbers removed fac6322 Contact Numbers Added 7810dd3 QnA and Friend Lists Added ঙ্ক্ষি র্ট চ্ছে লো দে এক পলেক িগট ও িগটহাব - 46 গু ব্য য়ো প্র লো গু লো র্শ টো িগট র্ট ছো লো র্ট ন্দ সু যে য়া উইদ জুনােয়দ র্শ দে > এখন আম কিমেট কিমেট িফের > েত চা ন না র ড কেরিছলাম । আমার এখােন ই কিমট হ এটাঃ fac6322 Contact Numbers Added এখন এই ভা েন িফের েত চাইেল িগেটর আেরক কমা এইভােব বহার করেত হেবঃ git checkout fac6322 সে ন্ড লো টা এক পলেক িগট ও িগটহাব - 47 টা লো সে গু ম্বা ফো র্শ যে িগট চ্ছি যে যে রা র্শ উইদ জুনােয়দ অ্যা > র্বে ব্য ০৯ পূ র ভা েন যাওয়া হ কিমট আইিড। আপনার আইিড িভ এখন এই কমা রান করেল আপনার থাকাকােল সবিকছু আপনার র আন- কক কড থাকেল আউট করেত পারেবন কিমট আইিড হেব। েজ main আেগর এই কিমেটর ভা েন িফের যােব। তেব অব ই মা েক র থাকেত হেব। ফাইল/ আন-কিমেটড থাকেল আপিন । এখন কমা খেবন। সােথ ক- লাইেন main এর জায়গায় খেবন HEAD detached at আপনার কিমট আইিড। > Note: switching to 'fac6322'. You are in 'detached HEAD' state… make experimental changes and commit them… discard any commits you make in this state without impacting an… switching back to a branch. If you want to create a new branch… you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at fac6322 Contact Numbers Added ঞ্চে থে ব্রা চে ন্ন ঞ্চ স্টা নো ব্রা কো এক পলেক িগট ও িগটহাব - 48 শ্য ক্ট খা লে প্রো ন্ড রা দে বা ট্র্যা না িগট র্শ চ্ছে টা দে ন্ড ট্র্যা টা উইদ জুনােয়দ ল্ডা ফো এখােন েশেষর ক কের খু ন আেগর আসেছ। friend-lists.txt ই ভা েন িফের সবার ন না র রেয়েছঃ Dibakar Sutradhar - +88018XXXXXXXX S M Shahadat Hossain - +88018XXXXXXXX Reduanul Houque Munna - +88018XXXXXXXX Ar Rolin - +88018XXXXXXXX Niraj Paudel - +9718XXXXXXXX Tanvir Faisal Moon - +88018XXXXXXXX Sagar Neupane - +9718XXXXXXXX Yadav Lamechane - +9718XXXXXXXX এখন আপনার ব মান ওয়া রেয়েছ। িক িডের ির আেগর এক আপিন যিদ ইন ভা েন েত চান তাহেল আবার ক-আউট িদেত হেব এভােবঃ > git checkout main > Previous HEAD position was fac6322 Contact Numbers Added Switched to branch ‘main' লো গু ম্বা টা ফো সে যে ক্ট তে ঞ্চে ব্রা দে র্কিং মে এক পলেক িগট ও িগটহাব - 49 র্শ র্ত চে িগট র্শ উইদ জুনােয়দ ন্তু চে এখন আপনার ফাইল আিম আেগই আ (branch) এর ক বেলিছলাম। তেব েসিফকিল বলেলঃ- আসেল আপনার ক কিমট ই, িক ই কিমট র এক আপিন ই কিমেট ক-আউট করেত চাইেল ক-আউট করেত পারেবন। আেগর ইউিনক নাম থাকেব। এর নাম িদেয়ই ই আ টাইেপর কিমট আইিড লাগেব । আিম এখন আমার এই আিম ইন েজ লাগেল ইন নতুন িকছু েজ ইন ই করেত চা এখিন আনেত চা । তেব । বলেত পােরন আিম এখন এ েপিরেম ল িকছু এক করব। তারপর িনেয় আস । রা কে না ঞ্চ চ্ছি ব্রা চ্ছি ঞ্চ টা র্য শ্চ এক পলেক িগট ও িগটহাব - 50 ব্রা টা টা সে ঞ্চ সে থা ন্টা বো ব্রা ঞ্চে লো গু ব্রা ক্টে ক্স মে প্রো বা িগট ঞ্চে সে চে ব্রা ক্টে ন্তু ঞ্চ না মে তৈ ব্রা প্রো স্পে লো সে ঞ্চ গু মে রো উইদ জুনােয়দ ট্রা ভা লো চে ব্রা ১০ ির নতু ন এক আম করব table- version নাম িদেয়ঃ > git branch table-version এখন আপনার এই table-version নােম এক েক এই নতুন হেয় যােব। আপিন নতুন করেবন, ই ভা নটাই থাকেব। আমার আিম main েক t a b l e - v e r s i o n ক ের িছ । আ র তাই table-version এ আমার ব মােন main এ থা েজ র ভা নটাই যােব। মােন এখন main আর tableversion এর েজ ির আপিন চাইেল আপনার েজ খেত পারেবন (এখান > git branch > main ইম। থা েক সব এর িল ও র হেত q চা ন): table-version রী ঞ্চ কা তৈ ব্রা স্ট ঞ্চ ব্রা ঞ্চ রী ব্রা টা তৈ ঞ্চ ঞ্চ ব্রা ব্রা এক পলেক িগট ও িগটহাব - 51 রী ত্রে লা রী তৈ গু পু ক্ষে তৈ ঞ্চ ঞ্চ র্ত ব্রা কা ব্রা সে টা পু ক্টে থে বে রো ঞ্চ পু ব্রা ক্ট প্রো থে যে িগট র্শ প্রো রা র্শ সে ঞ্চে ক্টে ন্যে উইদ জুনােয়দ ব্রা থে প্রো দে এইজ আম কেরিছ, িক এ আিছ িডের িরর পােশ বহার কেরও খেলই বু ঝেবন, অথ খেত পােরন। আম On branch main… েয়ট ক ক-আউট ক ক-আউট করার ম ই। ধু মা আম ত্রে চে ক্ষে নো ন্ড ত্র এক পলেক িগট ও িগটহাব - 52 বা শু বোঃ ঞ্চ রা ব্রা তো সে চে তা ন্তু ঞ্চে দে ব্রা এ ক-আউট করেত পার িগট রা চে দে ঞ্চ রী ব্রা চে ঞ্চে তৈ ক্ট ব্রা ক্রি ঞ্চ কো ব্রা েজ িঠক আেগর অ ন্ট > উইদ জুনােয়দ ঞ্চ আমােদর ন্য git status এর নাম িদেয়ই রা git status রা > কিমেট র্কিং লাইেন কাের ই আিছ। এখন নতুন নো ক-আউট ক্টে এখন main এ এখ আপনার কমা রা ওয়া ন ই প্রো কিরিন। ঞ্চ ব্য কো ব্রা ব্রা চে ১১ এ কআউট git checkout table-version এখন খেবন আপনার এখােনও এক table-version এ চেল একলাইেনর কমা ই ই করেত পারেবনঃ git checkout -b table-version-new নতুন এক table-version-new নােম কেরিছ এবং সােথ সােথ ইেন মা করব। তাই git checkout table-version িদেয় আম । অব ই কাজ করার সময় টা ঞ্চে এক পলেক িগট ও িগটহাব - 53 সে চে ক্ট চে ঞ্চে খে ঞ্চে ব্রা ব্রা রা র্কিং টে সে ঞ্চ সে টা র্জ ব্রা সে ঞ্চ ন্ট ব্রা র্ট িগট টা রা ট্ট মে ছো ন্ডে ঞ্চে টা লো ব্রা গু শ্য রা ষ্ট রী সে কো দে তৈ উইদ জুনােয়দ হো খেলই । ব্রা আেছন গে ন চেল ন িডের িরর ডান পােশ দে পােবন ওয়া ত য়াল করেবন ঞ্চে আেছন। ক কের কাের রী আমােদর কা ব্রা যা েলিছ। table-version এ িকছু মিডফাই কের ক এখন আম তারপর ক-আউট কের কো যাই ই ফে খু ন আম ঞ্চ ক-আউট করেত, ঙ্ক্ষি > েছ। কিনক আেছ। আপিন যিদ চান নতুন শ কাট কের সােথ সােথ বো ব্রা দে তৈ > ১২ নতুন মিডিফেকশন আমােদর এই নতুন table-version এখন আম িকছু ই করব। ব মােন আমােদর েজ নতুন র friend- lists.txt ফাইল এই অব য় আেছঃ Dibakar Sutradhar S M Shahadat Hossain Reduanul Houque Munna Ar Rolin Niraj Paudel Tanvir Faisal Moon Sagar Neupane Yadav Lamechane ঞ্চে ব্রা এক পলেক িগট ও িগটহাব - 54 ক্টে প্রো স্থা ঞ্চে িগট র্ত ব্রা রা ট্রা উইদ জুনােয়দ এখন আম এই নাম এক িবেলর িভতের িনেয় িখ মন লােগঃ =========================== || Dibakar Sutradhar || =========================== || S M Shahadat Hossain || =========================== || Reduanul Houque Munna || =========================== || Ar Rolin || =========================== || Niraj Paudel || =========================== || Tanvir Faisal Moon || =========================== || Sagar Neupane || =========================== || Yadav Lamechane || =========================== ধের িনলাম আমার কােজর এই ভা ন আমার ভা ইন েজ তার আেগ আপনার এই পিরব ন কিমট করেত দে লে যে ঞ্চে লো এক পলেক িগট ও িগটহাব - 55 ব্রা ক্টে র্ত টা লো প্রো টে গু র্শ টা র্ত মে বা েত চাই। িক ব মান িগট লো গু ঞ্চে ব্রা মে রা টা উইদ জুনােয়দ িনেয় ন্তু ইন কে আিম এ েগেছ, এখন করেবন, িগট লােক কাউ ই করেব । কিমট করার জ > git add --all > git commit -m “Table added” আমার নতুন পিরব ন স কিমট হেয় > [table-version 1a9c516] Table added 1 file changed, 17 insertions(+), 8 deletions(-) এ খ ন আ িম কাজ এ ই t a b l e - v e r s i o n এ থা িনেত চা main থেম main েহতু main, তাই এ িলেখই ক-আউট করেত য়াল ক ন আপনার main যাওয়ার পর না ঞ্চে ন্যে চে এক পলেক িগট ও িগটহাব - 56 ব্রা লোঃ ন্যেঃ গু র্ত চ্ছি টা নো কো ন্ত র্য না রু ঞ্চে ক্ষ িগট ব্রা চে লো ঞ্চে খে গে ন্ট ব্রা যে উইদ জুনােয়দ লো আমােদরেক কা পারেবন। এখন গু জ git checkout main র নাম গু । ক-আউট করেত হেব এভােবঃ সে > ঞ্চে সে ব্যা প্র ব্রা িকছু কিমট হেব। কারণ আপিন যত ণ প েজ র ই আেগর ভা নটাই রেয় নতুন table-version এ ক তাহেল জা েছ। কাজ এখােন আেস নাই। আপিন যিদ table-version এ ক কাজ েল িদেত চাইেতন, main েচক-আউট কের চেল আসেলই হ , থাও েড হাত িদেত হেব । মেন কির নতুন ক আিম রাখেত চা । তাহেল জা কের main এ ক-আউট িদেলই চলেব কাজ আমার ভা কের িদেত পারেবন। তেব আম িক এ র সা েথ িক লােগ নাই, ই টােক এভেয়ড চাইেল িডেলটও table-version আম এ রাখ । আ ের ক কেরিছলাম table-version-new নােম। এর িল > git branch > main খেতঃ table-version table-version-new আম table-version-new টা রী বো তৈ বা গে কো ঞ্চ টা ঞ্চ চ্ছে ব্রা ব্রা ঞ্চ টা এক পলেক িগট ও িগটহাব - 57 ব্রা ফে লো বা র্শ সে ঞ্চ না স্ট ব্রা রা রা রা রা সে রা ন্তু না ক্টে ঞ্চে চ্ছি চে কো ব্রা দে বা স্ট প্রো স্ট খা লে নো রা ন্তু িডেলট করব এখনঃ উইদ জুনােয়দ িগট git branch -D table-version-new > ঞ্চ কো ব্রা আপনার এখন এই িডেলট হেয় যােব, আর মিডিফেকশন থাকেল ও িডেলট হেয় যােব। Deleted branch table-version-new (was 1a9c516). নো কো এক পলেক িগট ও িগটহাব - 58 ঞ্চে সে লো গু িগট সে ঞ্চ ব্রা উইদ জুনােয়দ ব্রা > ই সােথ মা এখন ইেন (main) ক-আউট করার পের আেগর ভা েনই আেছ। এখন আম মিডিফেকশন খেবন থা ইেন table-version এ ক ইেন আনেত চা । main একদম সহজ। অব য় এই কমা িদেলই অ ক মা হেয় যােবঃ > git merge table-version > Updating 34432c0..1a9c516 Fast-forward friend-list.txt | 25 +++++++++++++++++-------1 file changed, 17 insertions(+), 8 deletions(-) রা মে র্জ টি দে ম্যা টা এক পলেক িগট ও িগটহাব - 59 টো সে চ্ছি ন্ড রা চে িগট স্থা মে কা লো মে গু ঞ্চে র্শ ব্রা মে ঞ্চ উইদ জুনােয়দ র্জ ব্রা ১৩ ইেন ড করেব। িগট লগ > খেল টাই ক খেত পােবনঃ git log --oneline >. 1a9c516 (HEAD -> master, table-version) Table added 34432c0 Contact numbers removed fac6322 Contact Numbers Added 7810dd3 QnA and Friend Lists Added টি এক পলেক িগট ও িগটহাব - 60 ম্যা দে সে িগট টো উইদ জুনােয়দ দে সে অ্যা ই সােথ table-version এর কিমটটাও িগট অ এখন আম পা যিদ আমােদর ব মােনর কিমেটর সােথ আেগর কিমেটর খেত চাই, ড ক ড পিরব ন হেয়েছ, হেয়েছ, খেত পার ধির, আম থায় িডেলট ক িগেটর কমা র সাহা চা । তাহেল এই লগ (git সহেজই থায় হেয়েছ, এ ড ও সব । Contact numbers removed আর Contact Numbers Added এই ই কিমেটর পা খেত রই কিমট আইিড লাগেব। কিমট আইিড িগট log অথ git --oneline) িদেয় log র করেত পারেবন। এখােন git diff এর সােথ উ ই কিমেটর আইিড পাস করেত হেব এভােবঃ ক্ত কো দে লো গু লো কো গু ক্য এক পলেক িগট ও িগটহাব - 61 র্থ্য রা র্ত ক্য য্যে টা র্থ কো দু র্ত ন্ডে কী বা কী িগট কো টো দু বো রা রা রা দে বে টা চ্ছি উইদ জুনােয়দ র্থক্য অ্যা দে দু ১৪ কিমেটর সােথ কিমেটর পা > git diff 34432c0 fac6322 > diff --git a/friend-list.txt b/friend-list.txt --- a/friend-list.txt +++ b/friend-list.txt -Dibakar Sutradhar -S M Shahadat Hossain -Reduanul Houque Munna -Ar Rolin -Niraj Paudel -Tanvir Faisal Moon -Sagar Neupane -Yadav Lamechane +Dibakar Sutradhar - +88018XXXXXXXX +S M Shahadat Hossain - +88018XXXXXXXX +Reduanul Houque Munna - +88018XXXXXXXX +Ar Rolin - +88018XXXXXXXX +Niraj Paudel - +9718XXXXXXXX +Tanvir Faisal Moon - +88018XXXXXXXX +Sagar Neupane - +9718XXXXXXXX +Yadav Lamechane - +9718XXXXXXXX এখােন উ (লাল কিমেট ) এবং ন ফাইেল এবং িঠক িক িক িরমু ভ ড(সবু জ খা নো দে লো এক পলেক িগট ও িগটহাব - 62 গু রা লো গু িগট কো অ্যা টা দু ক্ত লো গু হেয়েছ । উইদ জুনােয়দ চ্ছে )ক সে হ ই আ েম ল ক ন আিম git diff এর সােথ এ িরেস কিমট এবং পেররটায় িদেয়েছ। এটার মােন হ পা খেত চা । এ েডড িরমু ভড ড খােব। এবং পের নতুন থেম পােবন। নতুনটার অ সাের আর পের আিম থমটার সােথ তীয় অ ৎ থম ই কিমেটর থম নতুন আেগর কিমেটর আইিড িদেয়িছ। মােন তীয়টার টার অ সাের ই সােথ কিমট আইিড িদেল িঠক উ খেত খােব। কেয়কবার িনেজ কমা িদেয় খেলই বু ঝেত পারেবন। িবঃ এই অব কী র আপ-ডাউন কী েক েন আ পা বহার করেত পােরন। আর এখান েজ আিম বাইের সবার সােথ আমােদর এক িবধা ভাইডােরর সা সও অেনক ন্যে প্র নু দে ন্ড দ্বি প্রো ন্ড টা রো সে টা ফ্রে স্ট ল্টো নো রো এক পলেক িগট ও িগটহাব - 63 পু দে যে ফ্রী প্র প্র র্থা সে শে চ্ছে টা র্থক্য টা ব্য চ্ছে দে ব্য দ্বি রো ন্টা র্ভি ত্রে লো দে লো ন্ট গু গু লো ক্ষে রু প্রো গু প্রো কো বহার করেত পারেবন। িগট স্ক্রি নু স্ট টা স্ট চ্ছি সু ক্ষ্য স্থা হো টা মো ক্ট টা নো প্রো রো ন্তু বা রো নো দে ন্ট পু প্রো বে টা র্ডে নো ক্য বো কো দ্রঃ বো িগটহাব। আ । কাছাকািছ ইউজার ই রেফস থাকায় তাই পের চাইেলও উইদ জুনােয়দ রো ভাইড আজেক আিম িগটহােবই িকভােব িক করেবন সব অ র্থ্য িল এবং েত ভাইডারই হ হো খা িগট সহ আমােক করেব। এরকম এক আেছ, িক য়ার করেত চাই। এজ ভাইডার লাগেব, আমােক িগেটর ন্য খেত (যিদ থােক) র হেত q বাটন চাপ িদেলই হেব। আমার র্গু পু অ্যা প্র দে থে দে এখােন আ িগটহাব থেম আপিন িগটহােব(github.com) এক কের িনন। এখান কাউ েক(github.com/join) েয়ট করেত হেব। তারপর ইেমইল েয়ট কাউ িরিফেকশনসহ যাবতীয় ফাইেলর ইনফরেমশন িদেয় িনেজ িনেজ বািক কাজ করেত পারেবন আ কির। এখন আপনার িগটহােবর এক স িচ কাউ এ লিগন করেল উপের ডান পােশ খেত পােবন। খােন ক করেল এক ওেপন হেব এখােন New repository নােম হেয় থােক তাহেল হয় অ রকম ইউআই খেত নু ন্ট মে ক্রি টা দে দে রী খা তৈ ন্টা লে পো এক পলেক িগট ও িগটহাব - 65 অ্যা টা ন্য ক্লি ভে তো সে ন্ট অ্যা ঙ্ক কো িগটহাব থে ক্লি দে হ্ন ঞ্জ শা চে উইদ জুনােয়দ প্লা করার ন কারেণ যিদ িগটহােবর ই রেফেসর ন্ট েজ িনেয় যােব। িডজাইন খেত ক করেল আপনােক নতুন ির অ্যা পােবন। এখােন টা প্র ক্রি প্রো পে ০০ িগটহােবর সােথ িল এখন মূ লত িগটহােব New repository ওেপন করব। এই অপশন চু জ করেবন তারপর এখােন থেম আপনার ির জটিরর নাম ( মন আিম িদলাম learning-git) িদেবন। ির িজটিরর নাম ইউিনক এবং ইউ- আর-এল িল হেত হেব অব ই। পেরর পশন িফ অপশনাল, চাইেল িকছু িদেতও পােরন আবার খািলও রাখেত পােরন। করেবন নািক কাউ আসেব খােন আপিন িক পাবিলক ির ইেভট করেবন িজ হেয় থাকেল ধু মা ক পাবিলক ির জটির করার এভােবই েখ Create স পােবন। তারপর বািক িফ repository বাটেন ক ক ন। স্ক্রি পো রে যে এক পলেক িগট ও িগটহাব - 66 ডে রা সা জ্ঞা লা গু ত্র শ্য ল্ড টা পো পো সে শু রু সে িগটহাব ক্লি রা ল্ড প্র প্রা ন্ড ন্ট ফ্রে যে টি উইদ জুনােয়দ অ্যা জটির হেয়েছ। আপনার ল্ড িফ পো এরপেরর ক্সে ফ্রী অ্যা পােরন। বাট আম অপশন চু জ কেরন স! আপনার িগটহােব নতুন ির খেবন েয়ট কম ট। এখন আসেলই অেনক দরকা র জ । এখােন একদম নতুন িগট ির বািনেয় িকভােব িগটহােবর সােথ কােন রী ক্ট প্রো পো লা গু যে ন্য দে লো পো তো গু ট্রা স্টে প্লি এক পলেক িগট ও িগটহাব - 67 প্র িগটহাব ক্রি েজ েক িকভােব িগটহােবর উইদ জুনােয়দ ন্স জটির জটির আেছ এমন ক্ট অলেরিড িগট ির আপনার করেবন ( থম ) বা প টা পরব কশন জটির পো িকছু ই র্তি ব্যা এখােন আপনার মনম সােথ কােন করেবন ( তীয় ) েহতু িগট ির আমােদর িনেয়ও িকছু ই আেছ। তীয় কশন ও আেছ দ্বি য়া এক পলেক িগট ও িগটহাব - 68 দে য়া ন্স দে সে ট্রা ন্স টা পো িগটহাব দ্বি লো গু য়ী সে নু ক্ট যে উইদ জুনােয়দ ট্রা ও কশন অ যা কাজ করব। িক িক করেত পােরন ন্স কশন জটির অলেরিড আেছ, তাই ট্রা ই ই ই এখন কমা লাইন েক আপনার খু ন থাকেল আপিন িড আপনার শ করার জ ড শ করেত ভুলেবন নে ক্ট এক পলেক িগট ও িগটহাব - 69 রা ঞ্চে লো ব্রা পু ক্ট নো কো কো প্রো দে না । কখনই িগটহাব থে না রে চে ন্ড পু আেছন। main েজ উইদ জুনােয়দ রা ন কা ক কের বািক আেছ। ঞ্চে তারপর এটাও কাজ কিমট ক ব্রা আেছ িক , নািক ক র ক্টে ন সবিকছু চেল যান। git status িদেয় িশউর হেয় কিমট ক কো কাল িডের িরেত থা ন্যে েজ ষ্টে প্রো ০১ িগটহােব পুশ িগটহােব > ও ই কশন অ যা শ করব। তার জ আমােদর এই েজ থেম আপনােক remote ড করেত হেব এভােবঃ origin git remote add origin git@github.com:zonayedpca/learning -git.git ক কের খু ব সহেজই েজ েজ েল েয় যােবনঃ ক্ট ক্টে গে এক পলেক িগট ও িগটহাব - 70 প্রো টা ঙ্ক য়ী নু প্র পে রা ন্যে ক্টে টা থে ট্রা ন্স বহার কের আপিন আপনার িগটহাব প্রো য়া বো লো দে প্র দে ক্লি টা ক্টে ঙ্ক অ্যা রা পু SSH ক্রি । িলংক উইদ জুনােয়দ যে SSH প্রো খা Code বাটেন প্রো েক খুঁ েজ পােবন। আর এ থেম এখােন আম ল- শ ক পু েয়ট টা েহতু িলংক েকশন িগটহােব প্রো েজ র েজ র হেব, িল ব্য ক আপনার ক্টে এখােন িল রা পু এখন িগটহােব আপনার েজ থমবার ড করেত হেব, পেরর বার শ করার সময় লাগেব । কারণ হ করেত চা ন হেব। পেররবার এখন আপনার েক েজ আপনার এখিন আপিন িগটহাব শ করেলই হেব। ক্ট না এক পলেক িগট ও িগটহাব - 71 পু প্র শু প্রো না প্রো সে অ্যা চ্ছে প্র র্বে র্ন টা পূ পূ সে পু ত্ব । আপনােক এর আেগ কাজ করেত হেব। িগটহাব সে ক্টে রু থােকন তাহেল পু টও না গু চ্ছে থে পু প্রো ক্ট ছো টআপ কের শ করেত পারেবন উইদ জুনােয়দ টা ধু কো আেরক প্রো থমবারই বেল িদেত git push origin master হয় স্ট েজ থায় শ করেত চাইেলঃ বাট ওেয়ট! আপিন যিদ তো েজ আপিন মেন রাখেব। তখন ক্টে > টা হো এ আপিন আপনার টআপ কািল থা েজ িগটহাব এ শ করেবন, তার আেগ আপনােক অেথন েকেটড পা ন হেত হেব। ধ ন সবু েক আপিন আপনার কাউ েক কাউেক েসজ পাঠােবন, িক একদম নতুন িডভাইেস এই কাজ করেত হেল থেম আপনােক সবু েক ঢু েক ইউজারেনম/ইেমইল, পাসওয়া লগইন কের সবু কেক আপনার পিরচয় িদেত হেব িদেয় আিমই এই আইিডর মািলক। মিন আপনার কাল িগট েকও িগটহােব শ করার ও আপনােক আেগ িগটহাবেক মাণ করেত হেব আপনার কাউ আপিনই আপনার ড অথ বা রু ম্যা প্র র্ড পু যে লো পু এক পলেক িগট ও িগটহাব - 72 যে টা থে যে প্রো ন্ট ক্ট থে প্র প্রো টি অ্যা কা লো িগটহাব সে বা ন্টে লো র্বে পূ ন্তু ফে ফে অ্যা আপ িগটহােব ইউজারেনম/ইেমইল আর পাসওয়া িদেয় উইদ জুনােয়দ তে েজ র্ড শ করেবন। ক্টে িগটহাব র্স িঠক ত্রে ফে ক্ষে পু ০২ SSH কী অথ েকন এর সাহা কাজ করেত হেব। তেব আপিন আপনার গত িশেন ও িগটহাব িনেয় কাজ করেবন ওয়াটাই সবেচেয় সামিয়ক সমেয়র জ করেত েল তখন ক উিচত। খা অ টআপ পার ন েক কাজ থেম িকভােব SSH টআপ েষর িদেক িকভােব টাও থাকেব। উই একটু আলা আলা ক িলনা র েজর হেল িগট েসর টা নাল িলখু নঃ টা টা ক্সে র্মি টো র্মি সে য্যে থে টো কী সে ম্যা ব্যা প্র কী এক পলেক িগট ও িগটহাব - 73 ফে ম্যা যে কো ন্ডো টো দা ন্য শে ত্রে বা টি সে প্র ন্ড ক্ষে ম্যা ন্য টা দা কী ত্রে ক্তি ক্ষে ন্ডো ব্যা সে রা িগটহাব সে বো তো ক্সে যে দে টা রা টা বা সে রু টা সে গে টা ভািরট টা নাল ls -al ~/.ssh উইদ জুনােয়দ টা র হেত পাের, তেব িদনেশেষ ওেপন কেরন এবং িনেচর এই কমা সে ক, িলনা আপিন আপনার ওেপন ক ন। আর উই ম্যা জ আর েকন ইমই। ১। > েকন এর িশন এবং বইেয়র বহার কের করেবন জ টআপ কের ইফ এবং িসিকউরড। আর পার করেবন খােন িতিনয়ত এই িগট খােন SSH তেব আিম এখােন আপনােদরেক ন্য সে নে ব্যা ব্য । বাট এ একটু কম িসিকউরড হওয়ার কারেণ ব মােন আপনােক SSH র্ত ব্যা কাজ ক েম অলেরিড SSH েক থােক(ফাইেলর নাম হেব এরকমঃ id_rsa এবং id_rsa.pub), তাহেল আপিন একদম িনেচর ৫ না র ( ২। েপ খা র ম কের পাবিলক এখােন id_rsa.pub ফাইল ) এর ক কের িনেবন। আর যিদ থােক তাহেল পেরর আপনােক এখন নতুন SSH কমা অব ই আপনার কিপ েপ ফ ক ন। নােরট করেত হেব িনেচর অ যা । তেব িনেচ এখােন অ ইেমইল সব অপরব ত রাখেলও বহার ক কচু য়াল ইেমইল স িদেয় ির স কের িনেবনঃ > ssh-keygen -t rsa -b 4096 -C “zonayedpca@gmail.com" এখােন আম rsa টাইেপর এক টার সাইজ হ িবটস(এ অপিরব ত রাখেত পােরন) অব ই)। এখােন পােবন, এ ৪০৯৬ নােরট করিছ আিম আমার ইেমইল িদেয়(এখােন আপিন আপনার ইেমইল নােরট করার সময় আপিন বহার করেবন শ িকছু অপশন আপাতত এ র িদেয় িদেয় কম ট কের লেত পােরন(passphrase িফ ও খািল রাখেত পােরন)। তারপর এখােন , আর আেরক নােরট হেব। ড্রে রু ফে অ্যা গু চ্ছে ন্ট লো র্তি ব্য ন্টে জে বে প্লি তো এক পলেক িগট ও িগটহাব - 74 কী থে স্টে জে কী টি নো ন্য অ্যা যে প্রা জে ন্যা রা কী টা দে কী টা ন্টা স্টে ব্য ল্ড ম্বা না িগটহাব র্তি স্টে কী জে শ্য য়ী রা লো লো গু নু টা গু টা প্লে টা যে ন্ড উইদ জুনােয়দ ইেভট লো এখন এক পবিলক শ্য কী এখন যিদ আপনার িস এই কমা > ক উ রান করা eval "$(ssh-agent -s)” িক > রম আপনােক আপনার নতুন ইেভট ’টােক(id_rsa) ড করেত হেবঃ এ বা র আম আ মা েদ র পা ব িল ক ’টােক(id_rsa.pub) কিপ করব। এ এিডটর, ট আপনার ইন উ শ ড িদেয় হেব 'টােক কিপ ক । উই ড েজ হেল িগট cat ~/.ssh/id_rsa.pub | clip ন্য রা কো নো ক্রি কো এক পলেক িগট ও িগটহাব - 75 ন্ডো ণ্ডে অ্যা টা গ্রা নো ব্যা কো ন্ট যে বা কী ন্টে কী িগটহাব রা শ্য দ্দে প্রা প্যা ব্য ধ্যে টা নো মে ন েক এভােব কিপ করেত পারেবনঃ উইদ জুনােয়দ ন্ড আপিন SSH ভােবই করেত পারেবন। রা > থে েয়ট ক ssh-add ~/.ssh/id_rsa ৫। লো রজ বহার করেত হেবঃ ৪। তারপর এই SSH এেজ গু কী ব্যা ৩। তারপর আপনােক SSH এেজ > ক িলনা হেল এভােব করেত পােরনঃ pbcopy < ~/.ssh/id_rsa.pub ৬। এবার স েশশগ প হ আপনার কিপ ক ’টােক িগটহােব িনেয় রাখেত হেব িগটহাব কাউ এই পাবিলক িগটহাব আপনােক আইেড ফাই করেত পারেব। এরজ থেম আপিন আপনার লগইন ক ন এবং একদম উপের ডান পােশর ক ের আপনার ফাইল িপেকর উপর ক কের স এ যােবনঃ সে এক পলেক িগট ও িগটহাব - 76 রা রা দ্বা ক্লি প্র টা যে ন্য চ্ছে রু িগটহাব স্টে ক্সে প্রো ন্টে র্ব বা ক্লি অ্যা ন্টি ম্যা উইদ জুনােয়দ ক করেবন টিং Settings এ র্না কী আর এক খেত পােবনঃ SSH and GPG keys এ েত িগইেয় উপের ডান পােশ New SSH key নােম এক বাটন খেবনঃ িগটহাব ক্লি ক্লি নু দে দে মে নু মে উইদ জুনােয়দ টা ক করেবন এবার এই New SSH key এ টা ব্যা স এবার আপিন আপনার বাম পােশ SSH and GPG keys নােম ক করেবন এক পলেক িগট ও িগটহাব - 77 ক কের এখন আপিন আপনার কিপ ক SSH ) এখােন ’ আপনার িকেসর জ কের এক অপিরব ত থাকেব, বহার করেবন টাইপও অেথন েকশন েমর পাবিলক SSH িশেনর সব ’ই থাকেবঃ ক করেলই আপনার িগটহােব আপনার এই টাইপ এটাই রাখেবন স এবার Add SSH key বাটেন আপিন িন ন টাইেটলও িলেখ িদেবন। অ িকছু িদেত পােরন, বাট Title িস (পাবিলক কের িদেবন এবং মেন রাখার িবধা টার উপর িভ কাল িস র হেয় যােব। এবার ম েক আপনার িগটহােব ড শ করেত পারেবন। যে ন্য ম্যা ন্যা র্থে কী সু কো এক পলেক িগট ও িগটহাব - 78 বা রা কী ক্লি থে স্টো টি স্টে ব্য টা কী টা কী ন্য িগটহাব লো কী স্ট পে ত্তি ন্তে শ্চি নো ক্লি র্তি কো পু টা যে টা উইদ জুনােয়দ স্টে কী কী সে ব্যা কো এখােন ড করার ইউআই আপনােক জা SSH স স স এবার আপিন আপনার > েক অেথন েকশেনর জ করব আপেডট কের িদেত। তারপেরও আপিন চাইেল আমােক িবষয় আপনার ও করেত পাের, খুঁ জেত হেব। আর নতুন আপেডট ড করার অপশন আসেল আিমও বইেয় অবিহত করেত পােরন। েজ িগেয় এভােব শ করেলই েজ িগটহােব চেল যােবঃ git push origin main তেব থমবার বলেত পাের > শ করার সময় আপনােক অেথ েকট করার জ খােন আপিন িস িল yes িলেখ এ র িদেবনঃ The authenticity…‘github.com (…)’ can’t be established. RSA key fingerprint is xx:xx:xx:xx…:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no): yes ন্য ন্য পু টি ঞ্জ ন্টা এক পলেক িগট ও িগটহাব - 79 ন্টি চে টা ক্টে থে র্কে ম্প টিং টা প্রো ম্প সে টি ষ্টা স্ট অ্যা িগটহাব চে কী ক্ট পু যে অ্যা প্রো ত্রে কী প্র উইদ জুনােয়দ ক্ষে সে ব্যা তেব িগটহাব SSH অ েজ র ধু মা main শ করেত চাইেল জা পািঠেয়িছ। main এর জায়গায় এর নাম িলেখ শ কের িদেলই হেব। মন আম table- version টাও যিদ শ করেত চাইঃ git push origin table-version সে ঞ্চ রা এক পলেক িগট ও িগটহাব - 80 ব্রা ত্র স্ট শু ক্টে প্রো িগটহাব পু পু পু লো রা গু ঞ্চ ব্রা ন্য উইদ জুনােয়দ যে > ঞ্চ ব্রা এখােন আম আমােদর েজ ড করেবন আপনার Collaborator আপনার কাজ কের কাল ই কােজর আপেডট িগটহাব িশেন চেল আসেব ল করেত হেব িগটহাব জ আপনােক git pull origin main টা ক্টে সে থে প্রো ডে এক পলেক িগট ও িগটহাব - 81 ন্যে লা অ্যা সে রো না পু ক্টে টা সে প্রো নো সে থে কো থে িগটহাব ন্তু ন্য ম্যা নো ক্যা লো । েক েক এভােবঃ উইদ জুনােয়দ টি েজ শ কেরেছ িগটহােব। এখন িলই িক আপনার ক্টে েভলপার পাের িলেখিছ িকভােব Collaborators অ কো কেয়কজন হয়। আিম পের এ নতুন ম্যা আ আেছ। এেদরেক Collaborators ও ব েজ । এখন অ > ০৩ েক এখন ধরলাম আপনার এই টো ব্যা প্রো পু িগটহাব পুল কিমট ক ল করার সময় যিদ আপনার এখােন বািক থােক তাহেল আপিন থেম আপনােক আপনার ন কাজ ল করেত পারেবন কাল কাজ । েক বাদ িদেয় িদেত হেব অথ কিমট কের িদেত হেব। ন নতুন কিমট থােক তেব আপনার যিদ িনেজর িগটহােব শ কেরনিন, তখন এখােন িক ইজন লা েরটর অথ করেত পারেবন) কারেণ কাজ মা করার েকও কন পায় িনেয় য়া িগেয় ই। িদেয় হাইলাইট ন লাইন রাখেবন আর বাছাই কের িদেয় আবার িস িশ গভীের যা ই ল রাখেত যা , িক েন রা তাই অব ই ন্তু না ত্রে লো সে শ্য গু ক্ষে ঞ্জ চ্ছি ক্টে তো সে টা চে কো খা ক্যা যে হ্যা টি ক্ট টা সে লো প্রো ম্যা ফ্লি খা গু টো লে জে এক পলেক িগট ও িগটহাব - 82 র্জ ম্যা সে ম্প ন্তু ন্তু পু ঞ্চ কো ম্ভ ব্রা খা লো না থে লে লী যে স্পে বো নু কো লো বা ম্যা ম্যা ষ্টা গু ক্ট টা চে িগটহাব ফ্লি সে পু কো থে যে বে বা বো সে নো ই । র্জ প্র পু কো ক্ষ রা কো লো ত্রে গু সে টা লো করার ম শাল িকছু উইদ জুনােয়দ ক্ষে কাজ িল মা কিমট কের িদেত হেব। আিম এই গু েজ টােত িগট কনিফউজড, ড বাদ িদেবন ভা এখন িক ইম করেব, িঠক কের িদেব। আপনার তখন এ িশন( খােন িগট যতটু কু স ব অ ই লাইেনর ন হেত পাের। েক যিদ একই ফাইল এিডট কের থােকন, তাহেল আর যিদ িগট িশন আপিন কন আপিনই আেরক চাইেল আপিন একািধক লো সে দু সে কো এখােন ল ণীয় ০৪ েজ েয় িগটহােব সাধারনত মূ ল কাজ বাই িডফ থােক। বাই কনেভনশন অ বানা হেয় থােক। েজ আপিন িলেডও িস ছা নাও েত পাের। নতুন িফচার হয় মা র ই ড ক নতুন িফচার অ খেব? কাজ কের েজ শ কের িদেবন এখন নতুন আম আমােদর friend-lists.txt ফাইল ড একটু বা রা ন্য ধ্যে শ্যে সে ড়া অ্যা দ্দে ঞ্চে ঞ্চ টা ব্রা অ্যা ব্রা নু ঞ্চে পু ব্রা স্ট এক পলেক িগট ও িগটহাব - 83 টা ক্টে টে সে স্টা রা মে রা প্রো ক্টে ল্ট ন্য তো স্ট নো ঞ্চ কো ক্টে ব্রা ঞ্চে ত্রে দে ব্রা ন্য প্রো ক্ষে টা নো িগটহাব সে প্রো তো কো কো কে ড়া চ্ছি ক্টে যে ন্ত কাজ করেল আপনার ক উইদ জুনােয়দ নো েজ ল! আপিন আেরক করেত চা তো করার উ উ থাকেত পােরন। এখন িলেডর অ মিত ছা িগটহােব। ধির আমােদর দ্ধা িকছু হেয় অেনকজন Collaborators থাকেত পাের। তারম হয় িস ইন(main) অ Collaborators িকভােব ম্প প্রো িনেজর পুল ির মিডফাই কের। থেম নতুন এক বািনেয় ই location- version নােমঃ git checkout -b location-version এখন friend-lists.txt ফাইল একটু মিডফাই কের িনইঃ =========================== || Dibakar Sutradhar || Cumilla, Bangladesh =========================== || S M Shahadat Hossain || Cumilla, Bangladesh =========================== || Reduanul Houque Munna || Chattogram, Bangladesh =========================== || Ar Rolin || Dhaka, Bangladesh =========================== || Niraj Paudel || Pokhara, Nepal =========================== || Tanvir Faisal Moon || Cumilla, Bangladesh =========================== || Sagar Neupane || Kathmandu, Bangladesh =========================== || Yadav Lamechane || Kharar, Punjab, India =========================== উইদ জুনােয়দ নে টা ঞ্চ ব্রা িগটহাব টা প্র > এক পলেক িগট ও িগটহাব - 84 ইঃ > git add --all > git commit -m “Location added” > [location-version 6b1a3da] Location added 1 file changed, 8 insertions(+), 8 deletions(-) এখন এই > িগটহােব শ কের িদ git push origin location-version স এরর খােল আপনার শ হেয় েছ। এখন নতুন location-version িগটহােব িগেয় আপনার ক চেল যান। এ এখােন আপনার েজ ফাইল িল উপেরর িদেক পােবন েক আপিন খান এর বাম পােশ ইচ করেত পারেবন। ঞ্চে ব্রা সু গে ঞ্চ স্টিং এক পলেক িগট ও িগটহাব - 85 ব্রা পু দে ক্ট বোঃ থে প্রো টা রা দে যে িগটহাব পু না টা ঞ্চ ব্রা নো উইদ জুনােয়দ কো ব্যা ব্যা স এখন এই মিডিফেকশন কিমট কের ই খা এখােন এবার location-version এ খেবন রেয়েছ This branch is 1 commit ahead of main. ের ক হয় জ পােশই Contribute নােম এক অপশন আেছ েক Open pull request নােম এক আেছ, পােশই ক িবউট করার অপশন যে তো এক পলেক িগট ও িগটহাব - 86 খা লে টা ন্যে দে টা সে ন্ট্রি রা িগটহাব প্ট শী ক্সে পে বে চ্ছে অ্যা দে ঞ্চ স্টা ব্রা থে উইদ জুনােয়দ লো বাটন আেছ। এখােন েজ িনেয় যােব। েক ১ কিমট main খেবন টার িভতর টা ক করেল পেরর এখন এ আপিন এখােন দে যােত মা গু থে ক্লি সব পারেবন, আর ল ির চাইেল খার হেয়েছ তার িব িরত িল েয় এর জ ির েয় খেত কেম করেত গ পােবন(অপশনাল)। পের িনেচ Create pull request বাটেন ক করেল ফাইনািল আপনার েজ ল ির কেরিছ। তেব অেনকজন লা েরটর থাকেল ক েয় নােম যােব। আর থাকেব। ল ির েজ এ মা খােন িগেয় িব িরত খােনও এভােব েব এই ির করার দািয় েখ ল ির েয় েয় থাকেব েয় চাইেল ও করেত পারেব আবার চাইেল বাদও িদেয় িদেত পারেব। তেব এখােন সবাই লা িক েজ েরটর তাই েকউ চাইেলই এ সাধারনত িঠকম করেত পারেব, বজায় রাখেত যার স্ট টা টা পু যে স্ট যে দে কো ন্ট স্ট প্ট কো ক্সে পু সে নো অ্যা এক পলেক িগট ও িগটহাব - 87 র্জ ক্টে স্তা ত্বে স্ট কো টা ট্যা ন্যে প্রো কো ফ্লো বো স্ট পু তো র্জ স্ট ক্লি রা কো লো যে কো দে গু কো িগটহাব যো সু ক্টে পু স্তা পু লে প্রো ক্টে টা বো টা সে যে স্ট সে কো সে প্রো ত্ব েহতু িনেয়ই কাজ কের। উইদ জুনােয়দ কো মা সে দািয় রা ল চেল যােবঃ এখােন আমরাই আমােদর িনেজেদর ন্তু সে এখােন িক িক মিডফাই ক েজ আনেত চাইেল টােক িল পাবিলক জা কমা কাল থেম আপনার েজ ই লাইন ওেপন কের েজ আপনার কাল িশেন ন করেত েনর কমা িশেন চেল আসেব। ন এর িল আপিন িগটহােবর ফাইল িল িশেন েজ আপনার কােছ নাই, একদম নতুন। আপিন চাইেল িগটহােবর এই জ কাল ন কিপ আপনার নািমেয় আনেত চান। িদেলই আমােদর ন করেত হয়। অ ৎ িগটহােব থা েজ র এক পারেবন। ০৫ েক ন এখন িগটহােব থা খু জেত হেব। েজ র পাতায় িগেয় এর ডান িদেকর উপেরর ন করার েজ নায় পােবন <> Code নােমর বাটেন। ক্ট কা ন্ড ম্যা ম্যা প্রো ক্লো ক্লো ক্লো ক্ট লো লো এক পলেক িগট ও িগটহাব - 88 র্থা কো প্রো ক্টে ঙ্ক ম্যা ক্ট প্রো ক্ট নো ন্ড লো প্রো নো কো ক্লো ক্লো ক্লো নো ক্লো কো প্রো যে টা স্ট যে থে কো িগটহাব যে ক্ট ক্ট কা সে ত্রে ক্টে ক্ষে প্রো প্র সে স্টিং রো প্র পু ন্যে নো উইদ জুনােয়দ ঙ্ক কো প্রো িগটহাব েজ এখােন অেনকরকম অপশনই আেছ, এখান েক িজপ ফাইলও নামােত পারেবন। তাছা বহার কেরন(এখনই আপিন যিদ HTTPS কের থাকেল এই বইেয়র তাহেল HTTPS আম ব েষর িদেক আম েক আপাতত এ > খ ) ন এর ইউআরএল িনেত হেব। বাট নটাই করব কের কমা লাইেনর সাহা , আম SSH বহার ন করব এভােবঃ git clone <GitHub Repo URL> <Local Directory Name(optional)> বো ব্য দে টা সে রা রা এক পলেক িগট ও িগটহাব - 89 টা থে ব্য না ক্ট টা শে ক্লো ক্লো কো য্যে ড়া থে িগটহাব লো গু ব্য ট্যা ব্য ক্ট ন্ড যে রা উইদ জুনােয়দ রা না আম েহতু SSH বহার করিছ তাই এ িসেল করলাম, বাট HTTPS বহার করেল এখােন HTTPS ই িসেল করেত হেব। থেম clone তারপের িগটহােবর ির তারপের আপনার কাল িভতের রাখেত চা ন িডের িরর নাম ির জটিরর িল । েজ ন িডের িরর টার নামও িদেত পারেবন। অপশনাল, নাম এই িশেন ওয়া জটিরর আম িদেল বাই িডফ নােমর িডের িরেতই েজ কাল ন করব। তাই কমা ন হেব। ধির, লাইন ওেপন কের কমা িলখ > git clone git@github.com:zonayedpca/learning-git.git learning-git-with-zonayed িনেয় কাজ করেছন। তাই আম িদলাম আমােদর মন ম learning-git-with- zonayed নামক িডের িরেত এখন এ র িদেল েজ আ িশেন। ধির, এ আ আিম আমার খেবন েজ চেল আসেছ। আর এটাই জটির। সে ন্যে ক্লো কো এক পলেক িগট ও িগটহাব - 90 পো টা ন্ড ক্ট স্ক না ডে ক্লো রা ক্ট ক্লো ক্ট প্রো স্তে ক্ট প্রো স্তে প্রো টা ম্যা তো ক্লো সে টা টা ক্ট সে ক্লো ক্ট লো িগটহাব পো টা লো চ্ছে দে ক্ট প্রো খা দে রা যে লে প্রো বোঃ ম্যা স্ক ক্লো প্র ন্টা টি ডে ক্ট রা ন্ড উইদ জুনােয়দ পো ন কেরিছ। ল্ট ন ক ির টেপ ন করার পর learning-git- with-zonayed নােম এক আপনার । ন হেয় যােব আপনার ঙ্ক টেপ ন করার জ ক্ট এখন েজ ন্ট কাল ইম নােমর অপশনাল আ েম টাও লো জ কের থাকেল আপিনও হয়ত ক্লো ির ফ র্গু এখােন আমার পো লো এভােব বহার করেত পারেবন, কািল সবই করেত পারেবন। আর এই েক ন কেরেছন আপিন এই টাই েজ মিডফাই করেত পারেবন, েজ র remote আপিন খান ট ক িল। থাকেব অ েজ র Collaborator শ করেত পারেবন হেয় থাকেল এই ির কিমট। মো যে ক্যা টি ম্যা নো টো এক পলেক িগট ও িগটহাব - 91 কো রা ক্ট না ক্টা রা প্রো প্রো সে লো সে িগটহাব না ক্টে পু প্রো উইদ জুনােয়দ ক্লো েট , আর Collaborator হেয় থাকেল এই েজ ই শ করেত পারেবন আপনার ক নতুন ক্টে ব্য থে পু প্রো এখন এটার িভতের িগেয় আপিন আবার চাইেল কাজ কের িগট েজ এখােন আপিন আমার ক িবউট করেত চা েজ ন। ক িবউট করেত চা থ েম আ মা র িগ ট হা েব র েজ েজ একদম উপের ডান সরাসির Fork বাটেন এ ক করেল আপিন চা ন অপশন আসেব। আপনার িগটহােব থায়(Owner) করেত বা ঙ্ক্ষি চ্ছে চ্ছে ক্টে র্গা টা প্রো সে এক পলেক িগট ও িগটহাব - 92 নো কো ন্ট্রি ন্ট্রি কো ক্টে স্ট ক্টে ক্টে প্রো কো প্রো মো টা ফ অ নাইেজশন িগটহাব ডে কো প্র ক্লি প্রো ত্রে পে ক্ষে ক্লি সে ক্টে ন্য সে টা ক করেবন ফ উইদ জুনােয়দ ত ণায় পােবন। র্ক েজ র ন। িগ েয় fork করেত হেব। এই fork বাটন িগটহােবর কা চ্ছে তো সে এখন ধরলাম আপিন এক র্ক প্রো ০৬ অ েজ পুল ির েয় েক থাকেল আপনার কাউ র উপের কাউ । এখােনও িকছু ত ড ির হেব। কাল ফ করেল কাল হেয় আপনার িগটহাব কাউ ড হয়। িক ই কিপটােক আপিন আপনার ির বহার করেত পারেবন। িজটির িজটিরেক টা পো রু অ্যা রা দে এক পলেক িগট ও িগটহাব - 93 র্ক যে ন্তু ক্লি র্ক ন্ট টা সে অ্যা ক্লো লো না িগটহাব ক্লি সে ম্যা লো ক্লো টা থ্য টা লো ন্টে ন্টে ব্য তৈ থে র্ক না অ্যা অ্যা ম্যা ম্যা ির এক িশেনও নািমেয় আনেত পারেবন। উইদ জুনােয়দ ক্লো ক লো কাল ই ফ লো ন কের কক ন মন আপনার ন্টে িহসােব হেয় যােব আপনার ন করেল কিপ ডাউন িশেন কিপ ডাউন কিপ ফ িদেত পােরন, তারপর Create fork এ েনর মতই। িশেন এক খােব। আপনার পো অেনক ক করেল এ র্ক ফ কাউ ই হ কাউ এই েজ কিপ কের রই ব মান ভা ন , আর পােরন। এখন এ আপনার ভােব এ ইন িকছু িজিনস করেত েজ র সােথ িল ড থােক যােত পের আ ন কের আপিন মিডফাই কের আবার আপনার ভা েনও শ করেত পারেবন। ফ করার পর েজ ন কের ন এভােবঃ > git clone git@github.com:WithZonayed/learning-git.git এখােন আপনার ফ েজ ক েজ র র িডের িরেত েল ন িল হেব। এবার খেবন আিম এক ফাইল েখিছ QnA.txt নােম। এখান আপিন আপনার নাম এবং সােথ আপনার ক থম িগটহােবর ির জটিরর িল করেবন। এখােন এমন অলেরিড কেয়ক িল জা খেত পােবনঃ -[Zonayed Ahmed] https://github.com/zonayedpca/learning-git ।ও র িনেচ আপনার করেবন। তারপর এ কিমট কের শ কের েজ স্ট স্ট ক্টেঃ মে পে পে স্ট ক্লো প্রো টা টা টা ক্ট টা ঙ্ক ঙ্ক এক পলেক িগট ও িগটহাব - 94 র্শ প্র দে নো রো দে কো ক্লো লো ঙ্ক র্ত টা গু পো দে ক্টে ক্টে পু র্ক না লা প্রো গে ফে প্রো রা ঙ্ক ক্লো প্র লো ক্ট টা িগটহাব র্ক গু টা রা ঙ্ক চ্ছে রী পু তৈ ন্টে কা র্ক ক্টে ক্টে লু উইদ জুনােয়দ ন আপনার টা মু ছেবন টা িল টা আেগর থা র্শ অ্যা প্রো ফে প্রো রে এখন ফ git add --all > git commit -m “Name and Repo Added” > git push origin master স এবার আপনার ফাইল শ কম ট হেয় েক আপনার ফ ক েল আপনার িগটহাব েজ িগেয় খেবন নতুন এই কিমট শ হেয়েছ। এখন িগটহােব আপনার ফ ইন েজ েক এক ক েজ িগেয় খেবন এখােন কিমট এিগেয় আেছ খা িঠক ডান পােশই আেছ Contribute বাটন বহার কেরই আপিন খা রম ই গে রা চ্ছে দে যে দে দে এক পলেক িগট ও িগটহাব - 95 টি ক্টে গে ক্টে ক্টে প্রো প্রো প্রো রা প্লি রা মে র্ক র্ক টা িগটহাব পু তৈ স্ট তো থে ক্ট নো কো থে পু দে ব্য প্রো পু র্বে উইদ জুনােয়দ টি টার ির করেত পারেবন। ইম পূ আপনার ক ঞ্জ েয় েল খেত পােবন। এই চে ল ির েজ দে জ ইন টি বাটন । আর এর খােন আপিন Open pull request নােমর বাটন ন্য ব্যা প্রো মে সে > ক করেল পেরর সােথ আপনার ফ ক েজ আপনােক েজ এর ইন আপনার ফ ক merge ন কারেণ আপিন কাজ করেত করেত ন আপেডট আেস তাহেল এ উঠেত পাের। বাট এর খােব। এখােন খেছন Able to merge, তেব েজ েজ স যিদও যিদ ইন েজ Can’t automatically টাই হউক আপিন এখােন েক Create pull request নােম বাটন পােবন। এখােন আপনার র এক িকছু িব িরত ত টাইেটল আর চাইেল আ কেম িহেসেবও িদেত পােরনঃ টাইেটল লাগেবই, কেম অপশনাল খেবন Create pull request বাটন এনাবল হেয়েছ, অ ৎ আপিন এখন চাইেলই েয় ির ন্ট টা ক্টে তৈ স্ট প্রো থ্য প্রো কো দে মে এক পলেক িগট ও িগটহাব - 96 স্তা মে লো কো পু গু ঞ্জে চে টা রো যে ক্ট পে ক্টে প্রো দে িগটহাব রা প্রো র্থা রা ন্ট র্ক দে টা খা র্ক খা লে ক্লি দে লে কো উইদ জুনােয়দ ল ির থে ওয়ার পেরই ক্ট টাইেটল ঞ্জে চে এটােত েসর কিমট েসজ বাই িডফ আপনার স িডফাের আর ক েজ র সােথ মা টারও িন েয় ও ফর িকভােব িলখেত ট থাকেত পাের, থাকেল ওয়াই থাকেব। তখন আপনােক েদর ধক) িকছুই বহার সবিকছু করেত হেব। বাট আমােদর এখােন িনয়মম িস েয় মন হেব। র টাইেটল, কেম ন িনয়ম েজ র সােথ ল করেল। িদেব যিদ আপনার ল ির হয় তাহেল েজ ওয়াইস ল ির হেব েজ র ম কার িব িরত খেত পােবন একটু িনেচ এটােক আপনােক এক আইিড ইন িদলাম ইন িরজন আপনার ক রণ ক থাকেত পাের। আিম িকছু ত ল রাখার িবধা আপিন (অ করেত পারেবন। বা স্ট ঞ্জ স্তা তাঁ চে ব্য কো রা স্ক্র পু ধ্য এক পলেক িগট ও িগটহাব - 97 ন্ট রা কে ক্টে র্থবো টা ল্ডে ম্যা সে নো পূ প্রো কো ল্ট বা যে য়া মে স্টে দে দে র্জ কো টা কো িগটহাব র্থে লো ষ্ট ম্যা গু পু ম্পা র্দি তো সু ক্টে ক্টে ঞ্জে বা চে থ্য ন্স প্রো ক্ট প্রো সে য়া টা ঞ্জে উইদ জুনােয়দ ম্প চে মে প্রো সে দে করেত পারেবন। অেনকসময় টাইেটল িফ েয় আপনার মা করেল আপিনও ড হেয় যােবন। আমার এই েজ আর ির র ইউআরএল িদেয় ল ির েয় কের িন । তাহেল আপিনও আমার এই নাম করেল আিম েজ র ক িবউটর প্ট পু ক্সে তো ন্ট্রি ন্ট্রি অ্যা ক্লি ক্টে এক পলেক িগট ও িগটহাব - 98 ক্টে প্রো ক্টে প্রো স্ট সে প্রো কো িগটহাব পু র্জ ঞ্জ চে স্ট বো পো অ্যা অ্যা কো আমার কথাম ড হেয় যােবন। উইদ জুনােয়দ স্টে েজ র ক িবউটর িল িল ক কের ল পািঠেয় িদেত পারেবন। এখন অিরিজনাল ক িবউটর ন্ট্রি ির স্টে ব্যা স এখন আপিন Create pull request বাটেন ক্টে ন্ট্রি প্রো েজ ক িবউট েজ ন েজ জা ক িবউট করেত হেল অব ই আপনােক ক িবউট ক যায় থেম। যিদ আপিন েজ ন অিফেস খুঁ েজ েম কাজ কের থােকন তাহেল খানকার পারেবন। িক এর বাইের আপিন অেনক ওেপন এেভইেলবল েজ ই ক িবউট করেত পারেবন। এরকম েজ ই ক িবউট ক হেয় িগেয়েছ, এক করেত , পাবিলকিক ক িবউশ িদেয়ই অসং েজ েজ কের সো প্র ল্প রু বে শু এক পলেক িগট ও িগটহাব - 100 ল্প রা খ্য সো প্রো টা নু স্থা ক্ট শ্য স্থা ক িবউট টি বা ন্ট্রি প্রো লো সে ক্টে ম্যা টা রা টা ন্ট্রি খোঁ কো প্রো ন্ট্রি লো েজ ক্ট গু ন্ট্রি ক্টে ন্ট্রি টো ক্ট যে প্রো ছো ক্টে সে ক্টে ন্তু প্রো টো তো ছো ন্ট্রি প্রো ক্ট ক্ট প্রো প্র উইদ জুনােয়দ অ অব েন িনেয় আসেছ। ক্ট েজ েক এক ভা খ্য ক িবউট কের ক্টে ওেপন- েত হাজার হাজার মা ষ অ র্স পােবন বড় বড় িচউরড অব েন চেল আসেছ, বছেরর পর বছর চলমান রেয়েছ। এরকম অসং েজ থেম র করেত র্স ন হেব ন্ট্রি কো কো প্রো প্রো প্রো প্রো েজ ০০ েজ সবাই ক িবউট কের এরম সবেচেয় বড় কারণ হ ধানত অেনক করার ই আম িসিকউরড ফাইল ডাউন ড িগন দরকার আমােদর ওেয়বসাইেট। এখন আমার কিন ল েক ড কের, ল থাকেল আিম সময় খরচ কের কের তারপর িক কারেণ, আমােদর িনেজর জ ক িবউট কির। ধেরন আমােদর এক আমার ওেয়বসাইেট চ ক বহার করেত পাির। এমন এক িগন অলেরিড ির কের কের িড কের কের, যাবতীয় সবিকছু পা মা ষ, েখ িদ েয় েছ আ প না র ( স বা র ) জ েজ একদম কের, িসিকউির সহ যাবতীয় িবষয়ািদ এমন যিদ হ অসং ? িজ ও েপ ন র কাজই আসেল এ । এমন অসং েজ পােবন আমােদর িন িদেনর জীবন অেনক সহজ কের িদেব। নিকছু ভাবেতই হেব আমােদর অল িনেয় কাজ করেত দরকাির ফাংশানািল র অভাব রেয় আপিন রা যে টা র্স লো চে স্ক্র্যা সো ক্ট বা রে ন্তু তৈ লো ন্যে রা ন্য এক পলেক িগট ও িগটহাব - 101 দে সে ক্ট ক িবউট খ্য ন্ট্রি ন্য টি প্লা প্র ব্য ন্ট্রি টা টা গে টা ক্টে লো প্রো ন্ট্রি কো ক্ট যে স্ট ত্য সে টে কো র্স টি তো স্ট স্ট প্রো সো টা টে মো ক্টে স্কি সে কো স্টে নু লো টে প্লা গু ন্ট্রি ক্যা কো ক্ট ক্ট প্রো ক্ট ধ্যে খ্য লো ক্টে ম্প ন্ট্রি ন্তু েজ এক ক িবউট করার জ । আপিন গে েজ খেবন েছ। িঠক তখনই িক র্ফে করেত পােরন উইদ জুনােয়দ গু েল থাও টু কটাক বাগ, বানান ভুল থাও গু অেনকসময় েজ দ্বা তারপেরও এসব জা অলেরিড ড হেয় বেস আেছ। টা , , কারণ এসব হওয়ােত, সবার ক িবউশন প্রো পা ওেপন- না েজ র্ফে টে থে রে প্রো যে প্রো প্রো এসব েক উপকার েলন, িঠক ওয়ারও ভা এক উপায় হ এ । আমার এই বইেয় বানান ভুল খুঁ েজ পা ন তা হ েল েক ভােব িকছু কের অ আ মা েক িক ক কের ন সম জা না েত যিদ পা ের ন contact@zonayed.me এই ইেমইেল। এটাও একরকম ক িবউশন হেব আপনার আমার এই বইেয়। আর এই িগট ও িগটহােবর পাওয়ার অসং মা ষ ইম ক খা বহার কেরই িক এরকম েজ ই ক িবউট করেত পাের খু ব সহেজই। আজেক আম িঠক মন এক েজ ক িবউট । আম েজ ইিনিশেয় ভ আমােদর ক িবউট করব আমােদরই েজ । বাট কাজ এক আিম কিরিন, বরং েশর কিমউিন র ভাই- দারেদর ক িবউশন রাই এ এত র চেল আসেছ। আজেক এই বই পড়ার পর আপিনও অংশ িনেত পারেবন আমােদর এই েজ , আ ই ভিব েত টা টা ষ্য স্যা ন্ট্রি স্ট ব্যা ন্তু দ্বা এক পলেক িগট ও িগটহাব - 102 ক্টে ক্টে কো প্রো সে টা টা ক িবউট টা ন্তু সে রো ব্যা নো ন্ট্রি পু রু টা ন্ট্রি টা কো শু ব্রা যে টা তে চ্ছে ক্টে পে ক্টে থে ন্ট্রি টি প্রো রা প্রো েজ শা টা ক্ট তা ক্টে সে ক্ষ থে প্রো নো লো টা নু প্রো কে বো দে যে টি ন্ট্রি ক্ট হ্যাঁ খ্য দে ক্টে রা দূ ন্ট্রি এই রাখেবন এ পড়ার পর। উইদ জুনােয়দ রা েজ ন্য ম কির প্রো ক িবউট করার ক িবউটর িহেসেব। জা ন্ট্রি েজ ন্ট্রি যে দে প্রো প্রো মন িজিনস র না ম হ ভ সং েক ত ( g i t h u b . c o m / devsonket/devsonket.github.io) , এর কাজ হ িবিভ িবষয়, এর শ কাট , ন মন ন িমং িবিভ কােজর িসন , িচটিশট ির ক । এসব িচটিশট েখ মেন পেড় যায় ভসংেকত েসিফক সফটও েয়েজর িসন লাই পের আপনার িসন ড ই , র মওয়া িদ ই জা িদর উপর খ বু িলেয়ই যােত েসিফক কমা /শ কাট িক এর ক টাই হ এটার মূ ল উ । বািক মূ ল ওেয়বসাইট(devsonket.com) েজ এর খেলই আ কির ধার করেত পারেবন। ভ সং েক ত েজ আ মা র A s t r o J S ির েল েট ড িচটিশট (devsonket.com/astro-js) খিছলাম, হঠাৎ করলাম এখােন িকছু বানান ভুল আেছ। Framework এই শ মওয়া " িহেসেবই িলিখ। িক এখােন থা না টা র্ক ব্দ য়্যা ক্ট খে ন্তু ডে ত্যা প্রো এক পলেক িগট ও িগটহাব - 103 ক্স টা ট্যা চো র্ট স্ট ন্ড ক িবউট স্পে শ্য দে দে কো বা দ্দে ফ্রে কো গু দে ক্স র্ক ট্যা ল্যাং যে ডে স্পে খা গ্রা ফ্রে বা ক্টে লে চ্ছে চ্ছে প্রো ক্স েজ রা ন্ন চ্ছে ট্যা ন্ন প্রো কো রা সে খা দে চ্ছে কী টি রী তৈ ন্ট্রি ক্ট টা ব্রে র্ট উইদ জুনােয়দ য়াল মওয়া ক”: ফ্রে আেছ “ ত্যা যা র্র সব জায়গায় “ শা সচরাচর বাংলায় আম ক্টে প্রো বা ডে প্রো েজ িবষয় ল ণীয় ক িবউশন পােবন খা আিম তাই আর উ েহতু এখােন এ িফ কের িলংেক িগেয় এ আর খেত । তাই আিম এই ওেয়বসাইেটর এক ভা ন এই astro- typo-devsonket.netlify.app/astro-js িল ির কের েখিছ। আর এটার িগটহাব ির জটির পােবন github.com/WithZonayed/mistakedevsonket.github.io এই িলংেক। ভুল ভা ন খেত চাইেল এই িলংক বহার করেত পােরন। ক িবউশন ক স করেত চােলও এই ির িক ক িক েত ল ির েয় িদেত পােরন, হেলও আপিন সফলভােব করেত জানা হেব। আপনার েরেছন ক স ক হেব! ভসংেকত এর উপের ডান পােশ এিডট ক ন নােম এক ক করেল আপনােক এই িচটিশটটার খােন িনেয় যােব। সব ড র করেত ঙ্কে কো টা দে দে ক্স টা পে টা সো বে টা এক পলেক িগট ও িগটহাব - 104 র্শ টা পো রা রু কো টা ক িবউট প্রো টি পু প্র্যা যে রো ক্ত পো ব্য যে নু লো না গু সে ম্যা বো রা ক্লি ক্ষ নো রে দে প্ট ক্সে টা যে ন্ট্রি না টি অ্যা সে ক্টে টা ন্তু না েজ বাটন এরকম হেব নানানভােব খুঁ েজ হেত পাের। উইদ জুনােয়দ েজ ন্ট্রি য়ািলও আ স্ট , তাই আপনােক ক্টে খােন আেছ িঠক র্স খােন র্শ রেয়েছ, ন্ট্রি তৈ প্র্যা ডে যে না প্রো এক েজ ফ ক িবউট করার অেনক উপায় থাকেত পাের, আজকাল িগটহাব এরকম অ সরাসির ইউজার ই রেফস পারেবন। িক খা । সা স েক আপিন বহার কেরও ক িবউট কের এখােন আম ক িবউট ক িগট এর কমা জ ফ (Fork) করেত হেব। লাইন আমােদরেক থেমই েজ েল উপের ক্টে ফে প্রো ব্য থে এক পলেক িগট ও িগটহাব - 105 গে লো প্র গু ক িবউট ন্ড ন্য ক্টে ন্যা ন্যে র্ক র্ক প্রো ব্য রা সে েজ টা বো ন্ট্রি বা যে ন্টা ক্ট দে ক্টে ন্তু রা দে ন্ট্রি প্রো উইদ জুনােয়দ ক্টে বহার কের এক ফ বাটন আেছঃ ন্ট্রি খেবন র্ভি ডান পােশ লেত েজ র িলংক github.com/ devsonket/devsonket.github.io এ ন্ট্রি কো প্রো ন র্ক প্রো েজ ০১ র কাজ হ ক এই েজ এর ির জটিরর এক আপনার িনেজর কােছ। ফ বাটেন কিপ ির ক করেল থায়(Owner) ফ করেবন, িক নােম করেবন এরকম িকছু ত চাইেত পাের। চাইেল িকছু ত পিরব ন রাখেত পােরন, অথ এভােবই Create Fork বাটেন এখােনও িকছু ত এখােন ক করেত পােরনঃ িদেত পােরন, তারপর Create fork এ ক করার পর আপনার িগটহােব এই কক ন েজ র এক কিপ ির হেয় যােব। এখন আপিন চাইেল এটােত ক িবউট ক করেত পােরন। র্ক থ্য বা রু শু তৈ টা রা টা এক পলেক িগট ও িগটহাব - 106 ক্লি ক্টে রু ন্ট্রি ক্লি প্রো ক িবউট পো র্ত তো ক্লি থ্য ক্ট প্রো েজ র্ক চ্ছে থ্য ন্ট্রি ক্লি ক্টে রা উইদ জুনােয়দ র্কে কো তৈ প্রো ফ েজ িবউট ফ ক হেয় েল এবার আম করব। এখন আপিন আপনার ফ সাহা ন কের আপনার হেয় িনন ক িবউট ক ক েজ েক িগট এর কােল িনেয় যােবন। আপিন আপনার ফ উপের বাম পােশ য়াল করেল, ক ির থেমই িশউর জটিরেতই আেছন, িগটহােবর ইউআরএল য়াল করলই বু ঝেত পারেবনঃ রু শু খে রা টা এক পলেক িগট ও িগটহাব - 107 প্র টি ক্ট ন্ট্রি পো রা ক িবউট প্রো রা রা বা র্ক র্ক লো েজ গে খে রা যে র্ক ক্লো ন্ট্রি ক্ট ন্ট্রি ক্টে উইদ জুনােয়দ য্যে প্রো প্রো ক ০২ থেমই েজ টার েক কাউ েনর িলংক টআপ ক থাকেল আপিন SSH ক্লো সে থে টি র্বে ক্ট ক িবউট পূ লো রা প্রো রু যে ক্লো সে টা টা ক্ট েজ ন করেত এক পলেক িগট ও িগটহাব - 108 না খােন বো কােল েজ লো চ্ছে ব্য প্রো ক্লো রা ক্ষ ক্লো ন্টে ব্য টআপ কের কিপ করেত হেব। আপনার এই িগটহাব উইদ জুনােয়দ ন্ট্রি েকঃ বহার করেত পারেবন। এবার আপিন আপনার টা । বহার কের থােকন, তাহেল আপনােক HTTPS র সােথ SSH িলংক থে কােল িনেয় আস আপিন যিদ SSH থােকন, HTTPS ব ন কের ন করার িলংক কিপ ক ন এখান এখােন ল ণীয় হ ক্টে প্র ট্যা অ্যা প্রো এবার আম > খােন কমা লাইন খু েল েজ ন ক নঃ git clone git@github.com:zonayedpcadotcom/ devsonket.github.io.gitdevsonket.github.io.git এ এখন আপনার িডের িরেত কােল আপনার ির েজ জটিরর নাম অ যা ন করেব, এখােন হ devsonket.github.io। তেব আপিন এ নাম ছা মনম নাম(ধেরন এখােন যিদ আপনার ধু devsonket) িদেত চান তাহেল এভােব কমা িদেত হেবঃ > git clone git@github.com:zonayedpcadotcom/ devsonket.github.io.git devsonket এ বা র আ ম েজ র িড ের ির র িভ ত ের <YOUR_DIR_NAME> িগেয় নতুন এক fix নােম ির কের আপনার মনম টােত ন সম ইঃ য়ী চ্ছে নু টা যে এক পলেক িগট ও িগটহাব - 109 নে ড়া স্যা রু ঞ্চ ক িবউট ব্রা পো ক্ট ক্লো কো টি ক্ট চে প্রো শু ক্টে ক্লো সে টা েজ ক্ট লো প্রো ঞ্চে ব্রা ন্ড প্রো রা তৈ তো ন্ড ন্ট্রি ক্ট তো ক্টে কআউট করব। এখােন আপিন git checkout -b astro-typo-fix উইদ জুনােয়দ সে cd astro-typo- র নাম িদেত পােরন টা > টা প্রো চান > িশউর হওয়ার জ টাস ক কের খ git status এখন On branch astro-typo-fix র নাম এখােন আপনার কা > আপনার ও খেত পােবন। এরমােন আপিন ব মােন ত ই আেছনঃ On branch astro-typo-fix nothing to commit, working tree clean এখন আম আমােদর আসল ক িবউশন ন ফাইেল আেছ খুঁ েজ এিডট ক ন বাটন ক র করব। এখােন বহার কেরই আম আেছ করেত হেত পাের। আপনার । আপনার খুঁ েজ অপশন য়া টা বা টা তো ক্টে দে র্ত প্রো কো খোঁ বোঃ প্র ডে এক পলেক িগট ও িগটহাব - 110 র্চ দে ক িবউট তো পে চ্ছি চে না রা নে ন্ট্রি কো বে স্ট্যা দে সে ন্য পে লো গু দে েজ টা ঞ্চে সে সে ব্য টা ব্রা িভেগট কের আমােদর ভুল খােন বা ড এিডটর িদেয় সে ঙ্ক্ষি রা স্ট লো রু ন্ট্রি গু কো ন্ট ক্টে রা ত্রে জাখুঁ িজও আমােদর এই ভুল েত পােরন। উইদ জুনােয়দ ঞ্চে েল একটু েজ র /data/astrojs.json এই ফাইেলর িভতের। আম ন্টে ন ফাইেল ড এিডটেরর সা টা হ ভসংেকত এর খু ব সহেজই খেত পা নানানরকমভােব থেমই ভুল করব, আপনােক একটু এরকম অপশন চ্ছে ব্রা কো ক্ষে প্রো এবার জা মওয়া ক" বানান বসা । িফ কের সিঠক বানান “ মওয়া ” এরকম িছ … "id": "astro-js", "title": "Astro JS জাভা মওয়া ক", "slug": "astro-js", "description": "Astro JS জাভা এইচ এমএল এবং কম জাভা য় মওয়া ক এর িচটিশট। যা এক ক মওয়া ক”, … বানান িফ করার পরঃ … "id": "astro-js", "title": "Astro JS জাভা মওয়া ", "slug": "astro-js", "description": "Astro JS জাভা এইচ এমএল এবং কম জাভা য় মওয়া এর িচটিশট। যা এক মওয়া ”, … টি টি স্ট্যা স্ট্যা টি টি এক পলেক িগট ও িগটহাব - 111 ফ্রে র্র র্ক র্র র্ক ফ্রে ফ্রে র্র র্ক প্ট প্ট ফ্রে ফ্রে স্ক্রি স্ক্রি ফ্রে ফ্রে প্রি প্রি প্ট প্ট প্ট প্ট স্ক্রি স্ক্রি ক্স স্ক্রি স্ক্রি ক িবউট র্ক র্বে লোঃ েজ টা পূ ক্স র্র ন্ট্রি টি টি ক্টে বো উইদ জুনােয়দ ফ্রে প্রো " ক করার পড় ফাইল ইভ কের কমা লাইেন git status িলখু নঃ > git status খেবন আপনার এক ফাইল মিডফাই ক হেয়েছ এমন িকছু খােছঃ On branch astro-typo-fix Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: data/astrojs.json no changes … to commit(use "git add" and/or "git commit -a") আ যিদ খেত চান তাহেল git diff কমা টাও বহার করেত পােরনঃ git diff এক পলেক িগট ও িগটহাব - 112 ব্য ক িবউট রা ন্ড টা েজ সে দে যে ন্ট্রি ক্টে রো উইদ জুনােয়দ ন্ড > ক্স দে দে প্রো িফ এই িডেটই স পিরব ন খেত পােবন। এবার আম ড কের ফাইনাল কিমট কের িদ > git add --all > git commit -m “astrojs typo fix” স হেয় আপনার কিমট ক । এখন আপিন এই পিরব ন আপনার িগটহােব কা ত (এখােন astro- typo-fix) শ করেবন এভােবঃ > git push origin astro-typo-fix স আপনার িফ কা আপনার ফ ত শ হেয় ক িগটহােবর ির জটিরর । আপিন িগটহােব িগেয়ও উ (astro-typo-fix) িগেয় আপনার পিরব ন খেত পােবন। এখন আম আমােদর এই িফ মূ ল েজ ক িবউট করব। ক িগটহাব ির েল খেবন রা ক্ত লো ক্টে গু দে র্ত প্রো এক পলেক িগট ও িগটহাব - 113 পো গে বোঃ ক িবউট ঞ্চে ব্রা রা রা দে পো লো ঙ্ক্ষি র্ক গু ন্ত্র লো গে রা র্ত ন্য েজ রা ল্ড ক্স পু টা র্ক অ্যা লো পু লো গে ঞ্চে গু লো রো ব্রা ন্ট্রি গু ন্ট্রি ক্টে চে ঞ্জে র্ত ঙ্ক্ষি উইদ জুনােয়দ ঞ্চে জটিরেত আম ণ জানান হ ক্স উপের ক িবউট করার জ চ্ছেঃ এবার আপনার ফ ন্ট্রি ব্যা ব্যা ব্রা দে প্রো এখােন আ ন আপিন জা আপনার ইচ করার পর শ নাও এক এক পলেক িগট ও িগটহাব - 114 টা ক িবউট নে দে খা লে সু টা ঞ্চে টা টি ব্রা নো যে েজ স্যা যা ঞ্চ বাটন দে েকঃ এবং এর পােশই ক িবউট করার ব্রা েক এমন এক চ্ছেঃ ই, কয় কিমট কেরিছেলন তত কিমট এিগেয় আেছ ন্ট্রি আপিন মূ ল কো স্ট থে খা ন্ট্রি দে বা ঞ্চ টা ইচ করেবন এখােন খেবন উপেরর িদেক এরকম আপনার উইদ জুনােয়দ ক্টে খেত পান তাহেলও সম থে কিমট ব্রা সু প্রো যিদ এরকম Open pull request এ মূ ল েজ েয় ির করার জ ক করার পর এবার আমােদর িব িরত এক এখােন আপিন আপনার ক েয় এক মা (Description): ক্টে পু পু প্রো এক পলেক িগট ও িগটহাব - 115 সে ল্ট রা য়ী ক িবউট পে স্তা ব্য ন্ট্রি ক্লি দে ন্য ল্ডে েজ ত্র টা ন্ট্রি তৈ স্ট স্টে ন্ট্রি ক্টে ন্ট্রি উইদ জুনােয়দ কো ই কিমট খােব) িদেবন আর সােথ িকছু েসজই টাইেটল িফ ব টাইেটল( ল কিমট থাকেল বাই িডফ টা ির ল েজ িনেয় যােব। িবউশন অ যা নু ির কো ম্যা বহার কের আম ক িবউট করবঃ র্ণনা প্রো এবার এই ক িবউট বাটনটাই ির কের ল ির ন। েয় স হেয় ক কের ল ির আপনার অ এক েয় েজ িরঃ এবার আমার খা ম কের ভসংেকেত অ ক িবউট করেত পােরন িক ক ন। অথ থাও ইম িজ িন স িন েয় ক স ক র েত চা ই েল h t t p s : / / github.com/WithZonayed/mistakedevsonket.github.io এখােন ক ন। স্ট ক্টে সে কো কো বা প্রো ন্য টা এক পলেক িগট ও িগটহাব - 116 পু ন্য রু রু ক িবউট ষ্টা ক্লি ষ্টা চে চে ডে টা সে লো গে না তো টি েজ নো ব্যা প্র্যা দে তৈ লু স্ট ফে ন্ট্রি টা কো ক্টে উইদ জুনােয়দ ন্ট্রি তৈ পু প্রো এবার Create pull request বাটেন এখ হয়িন তেব এখন আপিন জা জটিরর ই কেরেছন আপনার পরব ন েজ কের তাহেল আপনােক ির ত েয় আপেডট হেয় স্ট র্থা সে কো ন্য য়ো প্র না এক পলেক িগট ও িগটহাব - 117 লো গু স্ট তৈ ক িবউট কো স্ট ক্টে পু স্ট ঞ্চে ন্টে কো ব্রা টি প্রো কো মে বা ম্যা ক্ত থে পু সে টো গু ঞ্জ লো র্ত রু চে স্ট শু কের কিমট েক সবিকছু করেত হেব । আবার েজ র্ত ঙ্ক্ষি শে পো পু ন্য ক্ত রা নো ন্ট্রি ক্টে র্জ লো ই পিরব ন ক ল ির উইদ জুনােয়দ প্রো জন মেন িদেত পাের। আপিন জা ইম কের িগটহােব শ িদেলই অ যােব। এর জ েয় ক্ত কািল আপনার কা মেন হেল িকছু মিডফাই করার করেব। আর যিদ উপযু েয় ড করার জ । এখন আপনার পিরব ন িরিভউ কের উপযু অ্যা মা ির কেরেছন, অ ৎ ইনারেদর কােছ ির র্ত িরিভউয়ার েয় টা ির ল ির স্ট আপিন উ ০৩ ষ িল ট 🎉 স এভােবই সবিকছু িঠকঠাক থাকেল আপনার ল ির েয়স মা হেয় যােব আর আপিনও আপনার পিরব ন ইন ির জটির অথ ওেয়বসাইেট(এই ক িবউশেনর খেত পােবন! কং চু েলশন 🎉 🎉 🎉 লো র্জ গু কো এক পলেক িগট ও িগটহাব - 118 লো গু ক িবউট ডে ত্রে বা গ্রা ক্ষে েজ পো ন্ট্র দে ব্রে তে মে ন্ট্রি ক্টে উইদ জুনােয়দ পু ) ভসংেকত এর devsonket.com/ র্ত astro-js /িফ এখােন ক্স েজ র ক্টে ব্যা প্রো প্রো সে ০৪ প্লো ক্স এ র িগট ওয়ািফ তার র নতুন িকছু এক েজ িচ য় অেনক কর । িক কাজ এক ফাইল আপেডট আসেল িঠক এভােব হ । এিদেক ফাইেল নতুন কের র অব য় িফের েত চা এক এক কের ওেপন কের নতুন করেতন? িক স ব, আ ফাইেলর িক স ব হেত যে টি বা না সে লো না গু সে চ্ছে টা ম্ভ সে টা রা এক পলেক িগট ও িগটহাব - 120 কো না লো যে শ্চ না ন্তু গু র িগট বা যে চ্ছে ডে ম্ভ সে টা কো রা চ্ছে ষ্টা তো চে যে কো সে টা র্ভু ক্টে টা স্টো লো চ্ছে নে গু স্থা প্রো ন্তু স্থা টা সে রা কো র্বে টা পূ লো নো ত্রে প্লো ন্তা এ ১০-১৫ টা কতটু কু িন লভােব ক উইদ জুনােয়দ ফাইল ড িরমু ভ কের, আপেডট দৌ ওয়ার হ । আপনা এমন িসচু েয়শন হেল িক করেতন? িন য়ই ১০-১৫ আেগর অব য় কাজ ড িলেখেছ েহতু আর এ ড মিডফাই কেরেছ। এখন তাই যায় িক সময় পর তার মেন হল করেত চা র েভলপ ক ড িলেখ, অেনক করেত িগেয় ১০-১৫ টার ম ক্স পু ক্ষে িগট ির ০০ সবেচেয় সহজ উ র হল এ জ ল উ র হল কের আেস িগট ির ন র কমা র রা িঠকঠাক আেগর নাই। আর িঠক এখােনই মূ লত আপনােক ন ফাইল িডের িরর আেগর অব য়( ষ কিমেটর অব য়) িফিরেয় িনেত সাহা কাল আনকিমেটড কের। এ আনডু ( মূ লত ড ক স েক আনডু করেত যায়। ধেরন আপনার অলেরিড কিমেটড এক িফচার েভলপ করার েজ িকছু র করিছেলন। িক যাওয়ার পর আপনার মেন হ ম স েক র অব য় িনেত সাহা ) করেত, অথ git add িদেয় িজং এ এ বহার ক নতুন এক ড কের আসেল কিমট করার হয়িন। আপিন আবার আেগর অব য় িফের সহজভােব এই কমা > , আর িজক। restore কমা git আসেল স ব খেত পােরন বাট অব য় িফের যােব তার েত চান। তাহেল বহার করেবনঃ git restore <file> ধ ন আ প না র ফা ই েল র না ম য িদ হ েয় থা েক n e w - update.html, তাহেল আপিন এটােক আেগর অব য় িনেত পারেবন এভােবঃ বা রা টা লো না গু স্থা কো ম্ভ ব্য ঞ্জে ক্টে দূ চে এক পলেক িগট ও িগটহাব - 121 কো টা যে স্থা বা সে প্রো ন্তু টা টা র িগট লো গু ন্টি স্থা না গ্যা ত্ত লো যে য্য গু ম্যা টি শে লো লো দে কো ন্ড ঞ্জে ষ্টা চে স্থা চে ব্য এ ন্ডে টি রা ষ্টা ন্ড টা স্থা চে ত্রে স্টো অ্যা ক্ষে র্বে ত্ত পূ ডে ক্ট স্থা য্য প্লো টি রু তো উইদ জুনােয়দ ক্স স্টে পাের? এ git restore new-update.html ইমভােব এক > িডের িরেক আেগর অব য় আনেত চাইেলঃ git restore <directory> আর যিদ চান সব > সেক আেগর অব য় িফিরেয় আনেতঃ git restore . ক িকছু যিদ অলেরিড িজং এ িনেয় থােকন তাহেলও আপিন টােক আেগর অব য় িনেয় আসেত পারেবন > git restore --staged <file> > git restore --staged <directory> > git restore --staged . স্থা শু র িগট স্থা ক্ট স্টে ঞ্জে এ চে স্থা রো লো পু গু টা রা ব্য প্লো উইদ জুনােয়দ ঞ্জ ধু মা --staged বহার কেরইঃ এক পলেক িগট ও িগটহাব - 122 ত্র গ ক্স সে চে সে ফ্ল্যা > ধ ন আ মা র এ ক েজ র এক ফা ই ল g i t - restore.txt িনেচর অব য় কিমেটড আেছঃ Hello this is git restore command. এখন আিম নতুন িফচার িহেসেব িকছু এক ড করলাম ইম ফাইেলঃ Hello this is git restore command. I have added this new line to check git restore command িনলাম, নাহ! আিম নতুন িফচার এখন আিম িস রাখ । আিম সহেজই ির র কমা এখােন েত চাই। তাহেল খু ব বহার করেত পার এভােবঃ টা সে লে বো এক পলেক িগট ও িগটহাব - 123 বা টা অ্যা র িগট যে স্থা ক্টে ব্য স্থা প্রো টি এ টা ন্ড শে ন্ত দ্ধা স্টো না বো প্লো রু উইদ জুনােয়দ ক্স খা git restore git-restore.txt টা > ষ কিমেটর অব য় িফের এখােন অব য় িফের েখন, খেবন এ এটার ষ কিমেটর েছঃ Hello this is git restore command. এক পলেক িগট ও িগটহাব - 124 শে র িগট টা দে দে এ টা গে স্থা প্লো উইদ জুনােয়দ ক্স ব্যা স এখন যিদ ফাইল িগট শ সািহর তার নতুন েজ র এক কাজ করেছ। িফচার সািহেরর ইিতম এখ নতুন টার অ ক কাজ করেত হঠাৎ অব য় য় েক েসজ িজিনস এেসেছ অ এক , িগট ির ক করেব? এ র কমা এটার উ র হ কাজ কাজ িক িগট থাকেত আমােদর ই রেয়েছ িগট লো সে নো ব্যা গু কে ক্টে ফে ক্ষ রা প্রো এক পলেক িগট ও িগটহাব - 125 ন্যে কো ধ্যে যে চে শে টা রা র িগট ষ্ট পে প্রা ঞ্চে ব্রা ঞ্চে তো ক্টে নে র্ধে ব্রা ম্যা ফে স্থা টা টা প্রো র্ধে বে থে না ন্য তো টি ক েল িকভােব ক কের ক েজ এ চে শ্য ব্য ক্টে সে ন্ড ধ্যে সে চ্ছে স্ট্যা প্রো সে ত্ত স্টো হ্যা নো টা প্লো নতুন ক কের িফড েসেল পড়েত হেব? িঠক এসব কােজর জ উইদ জুনােয়দ ক্স েজ েল িদেব? অব ই , সে এমন বহার কের ই কাজ করেত ল জানােত হেব। এখন সািহর তার অ ক ক ই িজিনস কাজ, তেব ষ। তেব কাজ ই। এরম ওয়ািফ ওয়ািফর ন িফচার িনেয় শ বড় এবং সময়সােপ কিমট করার ম এক ০১ এর শ কমা । িগট ক অ ক কাজ শ কমা একপােশ পারেবন। তারপর আপনার কাজ র সাহা েল কাজ কমা আপনার অ ক ক কাজ একপােশ > েখ অ ই অ খু ব সহেজই আেরক আপিন আপনার কাজ করেত ষ হেল আবার িদেয় িফের েখ েয় যােবন। ওয়ার জ git stash ওয়ার সােথ সােথ আপনার নতুন আনকিমেটড কাজ কমা নাই হেয় যােব। তেব তােত ভয় পাওয়ার িকছু নাই, এ আপনােক ইচ কের ওয়ািফর কাজ আবার এই স এই কমা git stash pop ক করেব এবং য়ার স রাখেত স্ট রা লো সে গু ক্লি টা যো স্ট্যা সু ঞ্জে পে ন্যঃ চে এক পলেক িগট ও িগটহাব - 126 ন্য ন্যা দে শে থে লো র িগট স্থা দে গু রে ন্ড ন্ডে রে ন্য ফে টি টা স্ট্যা ন্ড স্বা সে স্ট্যা স্থ যে সু লো টা গু স্ট্যা রা টি সু ন্ড ঞ্জে ঞ্চ ব্য চে ব্রা ব্যা র্ধে দে ন্ড লো লো টি র্ধে টি স্ট্যা গু এ শ ক েকও এটােক েহতু আপিন একািধক েশ উইদ জুনােয়দ গু শ িল য্যে কের িদেব। তেব ন্ড আপনার স েশষ শে ই স্ট কাজ প্লো ষ হেয় যােব তখন বহার কেরঃ মেন রাখেবন এই পপ কমা রা গ কের - ভািবক অব য় িফের পােবন িনেচর র্ব > জা খার িদেব। আপিন খু ব সহেজই যখন ঐিদেকর কাজ ক্স ই পপ িদেত থাকেল সবার স আপিন েশও স করার পরও আবার আপিন িনেচর কমা র শ িব হ েক এ আপিন র েনিছ স > েশ একািধক র িল ও স স পােবনঃ র রা খেত পার যায়, আম চাইেল এভােবঃ য়াল কেরন তাহেল খেবন ক আইেটেমর আেগ এখােন stash@{n}, এখােন n মােন না র িদেয় মা আেছ। রা সে প্লা ব্য অ্যা রা অ্যা টি ন্ড এক পলেক িগট ও িগটহাব - 127 রা ক্সে র িগট খা অ্যা ম্বা ত্যে লো প্র লো বা ধা ঞ্জে বো গু ক্র চে সু লো ত্রে র্যা গু দে ক্ষে টি সে থে ঞ্জে ন্ড চে দে স্ট্যা ত্রে স্ট স্ট্যা ক্ষে প্র ব্য সে যে রে লো লো টা গু জে গু খে এ ঞ্জে git stash apply stash@{1} চে > র্ক git stash pop stash@{3} শে > উইদ জুনােয়দ রা ক বহার কেরও pop অথ apply করেত পারেবনঃ টা আপিন এ প্লো ই git stash list যিদ ঞ্জে বহার git restore apply আম ঞ্জে ড ক িফিরেয় িনেয় আসেবন, আবার েখ িদেবন, করেত পােরন। এই কমা > েষ থম িহেসেব প য় েম আসেত থাকেব। তেব আপিন যিদ চান ক্স চে স্ট্যা চে পারেবন, শ িল য়ার কের লেত চান তাহেল এই কমা বহার করেবনঃ > git stash clear ন > েসিফক আইেটম শ শ কমা িবষয় অব ই এভােব িডের িরর িডের ির যােব , েশ রাখেব। ন ফাইল েশ বহার কের িগটেক বেল ও েশ িনেত git stash -u টি চ্ছে ন্ড ট্র্যা স্ট্যা টা সে কো স্ট্যা এক পলেক িগট ও িগটহাব - 128 স্ট্যা লো লো গু লো গু গু সে র িগট ব্য ঞ্জে চে ফ্ল্যা খে থে টা ফে শ্য ক্ট স্ট্যা ব্য বা এ শে ক্লি টা অ্যা ত্রে স্ট টি ক্ট ক্ষে যে ন্ড সে স্পে না স্ট্যা বা প্লো গ ক নঃ উইদ জুনােয়দ রা হ এভােব আপিন নতুন ফাইল, িডের ির ক্ট > ও ড কের থােকন তাহেল আপনােক এক িদেত হেব চা স ষ কিমেটর পর এেকবাের নতুন আপিন যিদ আপনার অথ য়াল রাখেত হেব, বহার করেল আপনার অলেরিড িগেট ক (কিমেটড) ফাইল চ্ছে েক িরমু ভ করেত চাইেলঃ git stash drop stash@{n} তেব এখােন এক ক্স কো ব্য স্ট্যা যিদ িগট িরেসট ওয়ািফ একিদন কাজ করেত িগেয় ভুেল এখ ড কিমট কের আের আম িগট এ েলেছ। িক এখােন এমন িসচু েয়শনও খু ব সহেজই reset কমা র সাহা েসিফক ন কিমেটর পরব স না রা রে কো রা ঞ্জে স্যা চে পু টা রা ন্তু রো এক পলেক িগট ও িগটহাব - 129 র্তি পু সে নো ন্যে ন্ডে র্তি র িগট হ্যা ফে স্থা ব্য ফে কো র্বে টা তো পূ ন্ড রা এ য্যে ব্য যে লো গু স্পে টি ন্ড ন্ডে ঞ্জে কো লো git এভােব িদেবনঃ উইদ জুনােয়দ চে ই আপনা র অব য় িফিরেয় আনেত পারেবন। আনডু করেত, তাহেল কমা নো যায় git । েক আপিন যিদ চান প্লো থায়? বহার কের আপনােদর অলেরিড কিমট ক স কো িনেয় খু বই সািহর তখন ল ক আর িঠক এইধরেনর িসচু েয়শেনর জ reset কমা িড বহার করিছ, সম লো তােক বল েল। পরব েত েহতু কিমট কের নশেন পের যায় ির গু এমন িকছু ক্স টে হ্যা যে ০২ git reset <commit_id> কিমট আইিড টাও িদেত পারেবন অথ oneline এ মন শ আইিড পাও git log -- যায় টাও বহার করেত পারেবন। এ আপনার উ কিমেটর পরব স িছ আনকিমেটড অব য় চেল যােব। তেব আপিন যিদ চান উ কিমেটর পরব উপ কমা স এেকবােরই চেল যাক তাহেল এভােব িদেত হেবঃ git reset <commit_id> --hard তেব মেন রাখেবন অলেরিড িগটহােব ির েত উ কিমটসহ শ কের ন কিমট িরেসট করা অ লাবেরটর িরকেম েহতু এ , আপনার েত পাের হঠাত এক যে টা লো মো লো গু ব্য কো ব্য টা ক্ষে ঞ্জে এক পলেক িগট ও িগটহাব - 130 রা চে বা সে যে যে র িগট যে যে স্থ বা না য়া র্তি ফে লো ন্ডে গু স্থা ঞ্জে র্ট চে টা পু এ রা গে ক্ত র্তি রো যে টি পু ন্ড শী ক্ত বে কো ক্ত টি ত্রে লো ন্য রো ন্ড গু প্লো ক্ষে বহার কের েল। ঐরকম পির িতেত git revert উইদ জুনােয়দ ক্ত ড ট ইউজফুল। কমা পো ন ির েলন তাহেল এ কনিফউজড হেয় কিমট উধাও হেয় ন্যা আপনা ত্রে > ক্স সে কো > িগট িরভা git revert কমা স ও অলেরিড আেছ এমন েক িরভা িরভা বাদ বাদ িদেত ও ওয়ার পর কিমট আসেব ঐটােত েখ ইভ করেলই হেব। বা ত্রে ম্প ক্ষে প্র টা কো ক্ষে বে য্যে ন্য এক পলেক িগট ও িগটহাব - 131 সে র িগট সে ম্যা টা ব্য ল্ট ন্ন টা স্ট ম্যা য়ী বা নু টি র্ট বা ন্ড র্ট লা য়া িডফ এ ট িরেয় আসেত িভ হেত পাের, েসজ মিডফাই কের র্ট দে টা সে দে রে লো যে গু বা টি টা ম্যা এক েসজ িদেত পােরন অথ ত্রে টআপ অ যা উইদ জুনােয়দ র্ট েসজ িলখার জ রা কিমট ন্ড , এই কারেণই েখও :wq (write & quite) িলেখ পােরন। িগট ল্ট কিমেটর সাহা খােন আপিন চাইেল কা ম িডফ প্লো হয়। তেব এ git revert <commit_id> কমা ঞ্জে ন কিমেটর হয়ঃ রে > বহার ক হয় আেরক মূ লত এটােক িরভা ব ক্স চে ০৩ হওয়ার পর যিদ আপিন িগট লগ েখন তাহেল খেবন এখােন আেরক কিমট ক হেয়েছ িরভা করার জ । git reset আর revert এর ম reset কমা যাও এক যায় পরব নতুন স মূ লত এখােনই থা স প সব বাদ েত থাকেল অ িফের ই সােথ এ । আর revert এর হয় নতুন আেরক ও আপনার েজ িগটহােব এক কিমট এর ির ক িবউটররাও িরভা র কিমট পােব এবং কনিফউজড হেব খেবন পা কিমট বাদ িদেয়। ির হয় মা েম। ির কিমট প সব ন কিমট কিমেটর । এছাড়াও আপিন িগট লগ খােন reset ক খােন revert ক হেল মাণ ট ন খেত খেল হেল ন লগ পােবন টার জ আেরক কিমট অ ৎ লগ র িগট এক পলেক িগট ও িগটহাব - 132 যে টা না ত্রে কো ক্ষে দে দে দে ন্ত ত্রে টা মো র্থা র্য টা ক্ষে লো ন্য বা বা গু সে টা র্টে ঞ্জে প্র দে চে র্ট কা ধ্যে ন্য টি কো ক্ট য়া ন্ত র্য দে প্রো না না রা সে ন্ট্র রা লো গু ন্য টা এ রা ন্যা তৈ লো র্তি গু ত্রে টা ন্ডে ক্ষে ঞ্জে সে চে যে কো র্ট য়া প্লো ধ্য পো উইদ জুনােয়দ র্থক্য খেত পােবন। ক্স দে যে দে িরভা িগট িরেবস সািহর নতুন এক েজ জ আেরক তার কাজ ইন েক কিমটও কের যা ডাকশন main ই নতুন কাজ অ । এরম নতুন িকছু আ কেরেছ। এখন এিদেক সািহরও চা ও যােত main এর এর । এখন সািহর তার নতুন িফচার িনেয় কাজ করেছ, অ কের কাজ কের ওয়ািফ আবার েভলপেম েয়ট কর feature নতুন feature কাজ যু িফচার িনেয় কাজ করেব, তাই কআউট কের নতুন িফচার েক main তার feature পাও যায়। জ িক করেত পাের? এইরকম িজিনস কেয়করকমভােব স মা যায়। সািহর করেত পাের তার ল্প ন্য সে ধ্যে ন্ট ল্প চ্ছে রো য়া এক পলেক িগট ও িগটহাব - 133 রা ডে র্জ লো ঞ্চে ব্রা লো র িগট ন্ডে লো গু হ্যা গু ঞ্জে ক্রি চে লো গু টি সে ঞ্চে প্রো এ ঞ্চে চে ব্রা ব্রা ঞ্চ সে মে ব্রা ক্টে থে টা ঞ্চ প্রো ব্রা ক্ত প্লো ন্য ঞ্চে উইদ জুনােয়দ ল ক সে র সব চ্ছে চাইেল এখন main ক্স ব্রা হ্যা সে ০৪ র সােথ। এখন সািহর তার feature সােথ main মা কিমট git merge main করেল নতুন এক েয়ট হেয় মা নতুন এক মা আপনা র নতুন আপেডট র চেল আসেব। এখােন feature কিমট য়াল করেবন ির হেব। এ আবার git log িদেলও একটু আন ন মেন হয়। অথ এমন মা feature কিমট িহ র তার খেত পােবন। অেনেকর কােছ এরকম অিতির ির হওয়া এ কিমট সািহর এর কেয়কবার করেত থাকেল টার িরও এমন আন ন হেয় যােব। এসব ভা সমাধান হেত পাের িগট িরেবস। িগট িরেবস করেল সািহেরর নতুন feature ( আসেব, আর feature স ) তার feature প পিরব ন কিমট িহ িরেবস করেত চা আনেত চা ন টােত থা । র নাম র টা ঞ্জ ঞ্চে চে লো চ্ছে ঞ্চে ক্ষে লো ক্ত ত্রে হু সে খা ঞ্চে বে গু যে ব্রা পে দে ক্ষে সে ত্রে ঞ্চে না সে ঞ্চে ব্রা ক্ষে এক পলেক িগট ও িগটহাব - 134 ক্লি চ্ছে ব্রা লো চ্ছে বা যা যিদ main র িগট দে ঞ্চে সে খে টা ব্রা র্ত যে স্টো যে ঞ্চে রা ঞ্চে ব্রা ব্রা ক্লি ঞ্চ রূ গু লো র্জ লো প্লা ব্রা ক্লি গু নো যে স্টা তৈ যে ঞ্জে অ্যা কো চে ঞ্জে এ র্জ ত্রে চে ঞ্চে দে ঞ্চে ঞ্চে ক্ষে ঞ্চে সে লো ব্রা ব্রা ব্রা লো যে ঞ্চ র্জ ব্রা ব্রা টা সে গু গু দে টা স্টো যে ক্রি লো রা কো গু চে স্থা প্লো উইদ জুনােয়দ ন ন মন আিম feature রো িদেত হেব। স সে র হু অব য় ির আ ক্ষে িগট িরেবস করেত হেল েলও িগট কা খেবন খেত ব্রা ক করেল র র উপর। এ ত্রে েত হেব লো ইক গু লগ চেল সব কাজ কেরেছ গু ড বু ত্রে ও আবার ির ইন ইস main এর সােথ িরেবিসং করেল main এর নতুন কিমট কিমট র ব্রা হেয় যােব। ক্স তৈ মে feature git rebase main স, এবার এই কমা ওয়ার পড় িগট feature এর সােথ ন কিমেট িমল রেয়েছ। র, feature েক একপােশ রা েক feature ির পাও অথ কের করেত হেব, ব্য ধ্যে ঞ্চে এক পলেক িগট ও িগটহাব - 135 ব্রা যে টি ত্রে র্ম ক্ষে বহার েত পাের। িগট িরেবস র িগট লো দে গু বা বে যে ঞ্চ ঞ্চে ঞ্চে ব্রা ব্রা যে ব্রা দে য়া ত্ত টি ঞ্চে ন্ড না লা প্র ঞ্চে ব্রা র্থক্য খা ব্রা কা শ্য রা ব্য দে স্টো টার। অথ যিদ হেয় এ দু ন্ড ঞ্চে টা প্লা ব্রা বে সে বোঃ ঞ্চে লো অ্যা ব্রা গু ন্ড খা পো টা লো কো দু গু লো ব্য গু লো ন্ড প্লো ঞ্জে ঞ্চ গু করাই শ বড় ঝােম ন েমর একািধক পা ন অব ই সবাইেক ইনফ উইদ জুনােয়দ git log এরকম ইউজফুল হেলও বহার অ থায় এখােন র চাইেত খেত পােবন। িজটিরেত থা কাজ করেছ এমন ন্য েক আবার িসিরয়ািল যােব। আপনা তেব এই git rebase কমা কেরনও তাহেল হেব। তারপর হেব। আর িঠক এভােবই মা বহার কেরও ইটার পা পাবিলক ির র এর র্স ইক নার িগট কিমেটর িহ কমা র কিমট feature র পর আ র্ব ঐ হেব। তারপর main বা একপােশ রা িঠক এর পেরর কো পেরর কিমট র রা কিমট িঠক কিমেটর সােথ স েশষ িমল র্ত রেয়েছ ই আমার ব মান main এর ম র্জে স েশষ খেব দ না > ক্স চে ব্যা ব্রা আনেত চাই তাহেল আিম feature এ থাকাকালীন এরকম কমা িদ র্ব ক্লি স কিমেটর িহ ির শও(কিমট আইিড) কের কের েল, এমনিক কিমেটর েল, ইম আেরকজন তখন আপিন িরেবস করেল জ িদ। তেব কিমটেক রা লো গু ব্য ঞ্চে ঞ্জে এক পলেক িগট ও িগটহাব - 136 ন্ড কো ত্র ফে লো ন বহার করেত নএ র িগট কো গু ন্য কা সে শু ন্যা ঞ্চে ঞ্জ ফে রী ব্রা চে রু পো য়া স্টো ত্যা ঞ্জ মো চ্ছে চে এ নে না ত্যা টা না লো টিং নে না ক্সি লো ধা বাঁ স্যা প্লো ক্স উইদ জুনােয়দ কো । ক্সি করেলই হ ব্রা উলটপালট েত থা চে ট ির এই কমা ন্ড ই। খািল ির বহার ধু মা আপিন কাজ করেছন কােল আেছ এমন ন থায় লাবেরটরেদর স্টিং িদ ই আর বহার করার আপিন িঠক করার কারেণ অ ই আপনার ও ব্য হেব িক স কো ভােব বু েঝ করেছন আর এ সম র নরমালভােব। অতএব এই কমা সে ভা কাজ ক ব্য ল করেত পারেব র্বে যে হ্যা পু পূ বা কো েহতু এ য়ািশং নতুন এক ডাকশন main new-feature তার েভলপেম ষ করার পর িন করেব। এখন তা য়াল কর অেনক ির ক হেয়েছ এক িফচার। কিমট িহ কিমট থাকেল একটু আন ন খু বই েভলপেম মা এর সময়, অথচ িরেত এত েত পাের। র সব আপেডট ব্রা ন্ত ঞ্চে চে লো লো ব্রা শে যে খা থে এক পলেক িগট ও িগটহাব - 137 রু দে ন্ট ঞ্চে শু স্টো তৈ ঞ্চ ব্রা র িগট ক্লি ডে প্রো টা সে ডে টা মে লো টি সে রা টা প্রো ঞ্চ য়ার কের তার এই new-feature এ ব্রা টা ঞ্চে তৈ টি খে টো ব্রা রা রা ক্টে শে ছো বে স্কো সে ন্ট লো টো লো প্রো ছো স্থা গু টা ন্ত । ডাকশন main টার হয় যিদ new-feature উইদ জুনােয়দ টো ইন ব্রা এই অব য় প্লো সািহেরর সােথ এ তােদর িফচার দ্ধা কর তা কিমট । এখন েভলপেম ন্ট িস ির কর না এই নতুন কআউট সে কের নতুন আেরক েক লো তােদর র্জ কের, তাই িফচার িনেয় কাজ করার িচ ভাব ঞ্চে েজ গু ওয়ািফ ক্স সে ডে ছো িগট ০৫ এক কিমেটর মা েম িঠক ইম কাজটাই স ব িগট িগট য়ািশং এর করেবন ইন main আ য়ািশং এর সাহা । আপিন আপনার main ধরলাম) উ খ কের কমা যায়। র িদেব, তেব এ ! যােবন(এখােন খােন িগেয় আপিন কিমটেক একসােথ করার জ স মা য়াশ মােন সব এক গ --squash বহার করেত হেব এভােবঃ > git merge new-feature --squash স এবার সব আপনার কাের চেল আসেব, তেব জড ক অব য় পােবন। আপিন এখন জা কিমট কের সব যু স জা কের নার িগট কিমট িহ ির। লো টা র্জ হ্যা গু লো না স্ট ধ্য ঞ্জে এক পলেক িগট ও িগটহাব - 138 স্টো চে ঞ্চে ফ্ল্যা য্যে ঞ্চে ব্রা ব্রা টা ঞ্চে স্কো ঞ্চে যে র িগট ব্রা ন্ট টা যে ট্রা ক্স স্ট ক্লি মে ন্ড স্কো ন্য রো স্থা ধ্য ঞ্জ ঞ্জে ত্রে ম্ভ চে চে লো ক্ষে রা গে সে লো লো ল্লে ফে গু গু টা টা স্টে সে ক্ত সে স্কো লো স্ট গু এ গু আ উইদ জুনােয়দ প্লো কিমেটর মা েম আপনার git commit -m “new feature introduced” স এভােবই হেয় ঞ্চে এক আেরক লেত পারেবনঃ ব্রা > ক্স ব্যা ব্য সে ব্রা ব্যা জা ন্য ন্যা অ আপনার িনেজর ই (gitlab.com) করেত পােরন আপনার িনেজর ই ইন ফাংশনািল করেব িগট। িগেটর কমা ভাইডার অ যা টামু আপনার িনেজর ই ও মত আপিন টা য়া প্ট যে ল্যা ন্সে দে ত্র মে য়ো ন্ট প্র শু বা চ্ছা চ্ছা এক পলেক িগট ও িগটহাব - 140 মে স্টিং হো চ্ছা টি য়ী তো নু ন্ড র্ন বা ব্য অ ম্পূ অ্যা য়ী টা সে টি ব্য মে নু টা প্রো মো টা নো ন্য হেত পাের, বহার করেত পারেবন। উইদ জুনােয়দ স্টিং আপনার ইন আইিড /ক ব্য এক ধু মা ভাইডােরর ড কের িনেবন। বাট এক। বহার ইন কাজ ইউআই একটু িডফাের য়া সবারই মো সবই এক থাকেব। ট ইউআরএল আপনার ইউআরএল অ যা ব জেনর উপর একই, কারণ এখােন প্রো ির , আপিন চাইেল িগট িবটবােকট (bitbucket.org) স িন র কের। ন্যা হ্যাঁ হো এ র্ভ কো ০০ িগটহাব বহার করব না আম র িদেক িগটহােব SSH টআপ কের িনেয়িছলাম সহেজ িসিকউরিল িগটহােবর িবিভ ির যিদ এরকম িশেন েত কাজ করার জ । িক ন িসচু েয়শন আেস রাির অথ িস েম, ির ও েজ ঐ ির িরড করেত পা তাহেল আপনার জ বহার ক ছা স মনঃ আপিন জা একািধক মনঃ জা আমােদর খু বই িলিমেটড িবেশষ এক ন কারেণ লােগ িশন ন এক েক আপনার েতই িবেশষ িকছু কাজ ই িদ ই িদ করেত চান িগটহােব SSH আেরক অপশনও আেছ। থেম আপনােক আপনার িগটহাব েত হেব। কো কো থে ত্যা য়া এক পলেক িগট ও িগটহাব - 141 ম্যা কী দে ত্যা সে পো যে স্ট বা পো কী ক্সে বা রা ন্ন অ্যা ক্ট যে প্রো টা যে অ ন্য টিং সে বা পো বা ড়া কো স্টে টা স্ট প্র থে রু রা বা ন্ট শু ত্রে রা ন্য ক্ষে ম্পো উইদ জুনােয়দ ন্তু সএ টা েক ন্য কাউ ন্যা টে ম্যা যে ব্য সে অ্যা ব্য ০১ িগটহােব SSH বহার না করা পােবন Developer settings নােমঃ এখান েক এবার আপিন অেনক েত, তারম tokens আমােদর অপশন পােবন ডানপােশর কাস থাকেব Personal access েত। এটার আ ের আ ই সাব- পােবন Fine-grained tokens আর Tokens(classic)। যিদও িসক ফাইন থড ই বহার কেরও ইম কাজ ( রকম নাম, করেত পারেবন, তেব রকম কাজ) আ ক ল পােবন িকভােব আর কতটু কু িলিমট িদেত চান আপিন আপনার সব িবষেয়র উপর। ন্ট্রো নু নু শী মে মে বে টা রো এক পলেক িগট ও িগটহাব - 142 টা দু রো লো গু সে ন্ডা সে অ ফো ব্য যে ধ্যে নু মে ন্ডে মে সে থে গ্রে ন্য নু উইদ জুনােয়দ টা েকেন ন্যা মে ক্ল্যা টো তারপর এবার ডানপােশ একদম িনেচ এক েক বামপােশর Genrate new token বাটেন ক করেবনঃ তারপের এখােন অেনক অপশন পাের, বাট আ আ েখ একটু কনিফউশন পড়েলই ির হেত নটার িক কাজ সব বু ঝেত পারেবন। েকন স থম িফ আপনার িব িরত েকেনর নাম(Token name), তারপর কতিদন পর এ পায়ার হেয় যােব অপশন(Expiration)। তারপর িসেল করার িক কােজ বহার ব্য ক্ট টা এক পলেক িগট ও িগটহাব - 143 সে টা কো টো দে ক্স টো অ স্তে থে স্তে স্তা ল্ডে র্কে টা ম্প ন্য উইদ জুনােয়দ েকন তৈ েকন ন্যা ক্লি প্র টো টো তারপর এখান টার আপনার ন ির িসেল পাের একটু ব (Description)। তারপর েক এটােক স িদেত চা ন করার অপশন(Resource Owner)। এখােন আপনার ইউজারেনমই খােব, আর অ নাইেজশন থাকেল র িল ও খােব। ির তারপর এখােন আপিন িজটির স ন ধরেনর স িদেত চা িব িরত। Public Repositories িসেল র িরড ওয়ানিল স ও জটিরর পারিমশন আমােদর কাউ থা খােব। Hello-World নােম এক বা টা লো স্ট গু সে সে লো চ্ছে চ্ছে গু সে এক পলেক িগট ও িগটহাব - 144 টা ক্সে ক্সে ক্ট অ্যা অ্যা য়া র্ণনা কা লো দে র্গা গু ন্টে ক্সে কো কো থে অ্যা অ র্স অ্যা ব্যা সো দে ক্সে ক্সে অ্যা সে কো অ্যা ক্ট রা ন্য স্তা পো পো পো েসিফক স িদেয়িছ, এখন এটার পারিমশন িক িক থাকেব উইদ জুনােয়দ ন্যা িনেচ দে র করেল সব/ িদেত চান সে ির ন ক্ট আম টার হেব, All repositories Only select repositories িসেল ির ন করেল সব পাবিলক স্পে ির পো দে করেছন েক েসিফকভােব িসেল করার অপশন থাকেবঃ ির এখােন Repository permissions এ জা ট করেল আেরক ই Read-only স েয় যায় আর এই পারিমশনটাই আমােদরেক উ েহতু এটাও ির ম্যা ল্ড ক্ট এক পলেক িগট ও িগটহাব - 145 থে টা যে পো ক্ত পে স্পে ন্ট ক্সে ন্টে সে টির)। েক ল শ করেত অ অ্যা টা থে পো লো ক্ট রা ক্সে ন্য গু টো উইদ জুনােয়দ িফ (Metadata) ন্ডা স িদেয়িছ(এ ন্যা উপের স(Contents) Read and write স্ট েত ক পু িসেল কৃত ির অ জটির পারিমশন পু আম পো সে অ্যা ও িনেচ যাচাই কের েকন আপনােক একদম ফাইন েকন িমস-ইউজ ক কের েকন েজ খা েক আর ধু মা এই একবারই আর খেত পােবন লো গু নো দে দে এক পলেক িগট ও িগটহাব - 146 টা ন্য দে ন্যা তৈ নো ন্ট্রো ক্ট থে দে ন্ড টা টো দে টো ক্রি গ্রে খােব, এ খেত পােব নাঃ অ লো না টো গু রে টো ত্র পে শু কে টা তো ক্লি ত্র ষ্য ন্য িবধা আপিন কিপ কের র্থে েকন উইদ জুনােয়দ স্ট হেব, এ েকন আপনােক উ চাইেলও িগটহাব এই টো র েখ িদেত পারেবন। তেব মেন রাখেবন িগটহাব এই একবারই এই ভিব েত খা েয়ট কের িনবঃ েকন থাও িনরাপেদ ধু মা হেব যােত আপনার টা এবার পেরর ও ই িসেল কেরই িনেচ Generate token য়া বাটেন ল হেত পাের। বাট আিম এই পারিমশন আপনার ির করেত পােরন। এখােন ক দে জা ই অপশন সু চািহদাম ন্যা টো কো শু পারিমশন িদেব। তেব আপিন চাইেল অ স আপনার েকন কের আপনার পারিমশন িড, এবার আপিন এই সরাসির ল শ করেত পারেবন। তেব এখােন আেরক ক আেছ, র পিরব কের এটার বহার করেত হেব। আর শ করার সময় নােরট ক ন করার সময় এখান িসেল েত SSH টার SSH িলংক এর পিরব আপনােক HTTPS িলংক পাসওয়া ির বহার ছাড়াই এই ির ও েকন টআপ ক হ েকন িদেত হেব। েক SSH িসেল কের HTTPS েহতু আম ন করেত হেব আর SSH বহার করিছ নাঃ স এভােবই আপিন খু ব সহেজ অথ অবল ন কের রাির অথ এরকম জায় ব যায় খু ব সাবধান খু বই িলিমেটড স দরকার েকও আপিন আপনার ির েজ এর স পােবন। তা ত্রে ক্ষে ক্ট ব্য ব্য রা থা টা ক্সে প্রো টো অ্যা বা পু র্তে না সে ক্ট রা পো টা এক পলেক িগট ও িগটহাব - 147 লা বা টো পো রা যে বা য়া রে থে ব্য দে অ জে পো ম্পো টো র্তে থে টে ক্লো পু গা চ্ছে পু র্ডে ব্যা ম্ব ক্ট ক্সে ন্য টা উইদ জুনােয়দ ন্যা সে ক্লো ব্যা অ্যা এবার িগটহাব েড েদর জ িগটহােবর িময়াম িফচার েড ইউিনভা েভলপার র আইিড কা ০২ েত য়। এর জ ক িনেত পারেবন আপনার ইউিনভা বহার কের। আপনােক েক ধু এই িল ও ইেমইল [ https:// education.github.com/pack ] িগেয় Get Your ক করেত হেব। তারপর আপনার আইিড কা ই এক উেটর নাম িদেয় িরিফেকশন ইেভট েয়ট করেত পারেবন। ই বছর পর আবার ই ন্যে প্লা স্ক্যা দে দে প্রি ন্য ফ্রী এক পলেক িগট ও িগটহাব - 148 থে লা টি ন্য ন্য গু র্সি দু টা প্যা প্লা শু দু অ্যা বা দু প্লি প্রি র্ড ন্য অ ডে ন্ট ক্সে প্র ন্ট ন্ট অ্যা ক্রি স্টু ক্লি টি বা স্টু লো র্সি টি গু টি ন্য স্টু পো ন্স উইদ জুনােয়দ অ্যা িজটির িময়াম িগটহাব স িদেব ই বছেরর জ । আনিলিমেটড ঙ্কে ির েসস কম ট কের আপনােক র ন িডেটইলস সােথ প্রা িফচার অ র ই কের িদেত হেব। িগটহাব ন্যা ই ইেমইল আর য়া কিপ অথ র্ডে Pack এ ন্যা ব্য ভে েড েদর জ িগটহােবর অফার ইমভােব ইবছর পােবন, মােন যত ন প ন্ট স্টু এক পলেক িগট ও িগটহাব - 149 ক্ষ অ দু ন্ত র্য সে ক্ষ রো ন্য ন্যা উইদ জুনােয়দ েড পােবন। ন্ত আেছন তত ন প র্য কের আবা ১। িকছু েজ কাউেক ক িগটহােবর এক েজ র িবউটর িহসােব ড করাঃ আপনার েজ িগেয় উপের ব আেছ। ঐখােন খু ন Settings নােম ক করেল পেরর েজ এক সাইডবার পােবন। ঐখােন Collaborators নােম এক আেছ। এখােন ক করেল পেরর আসেব। যােক খা েব েজ Collaborator ড করার জ ফ ড করেত চান তার ইউজারেনম িদেল তােক প ডা উ েন । ঐ খা ন Collaborator িহেসেব েক িস েল ক ের িদ েল ই েহতু অেনক ড হেয় যােব। এখােন কাজ করেতেছন তাই েপ পাসওয়া িদেত হেত পাের। র্ম র্ড ন্যে টা যে নু স্টে ক্ট মে অ্যা পে টা নো এক পলেক িগট ও িগটহাব - 150 অ্যা দে কো নো থে কো ন্ট্রি ক্লি অ্যা অ পে পে ক্টে অ্যা ক্টে প্রো ড্র ট্যা রো র্ন পূ প্রো টা ত্ব ন্য রু উইদ জুনােয়দ ন্যা ক্লি দে গু আ ০৩ ড করাঃ মােঝ ম খেবন িনেচ েজ র িব িরত ত আপনার েজ র ড ক র েত িসন অ হ েব । আ র এ র িভ ত ের ফাইল ইগ এমন ফাইল িডের ির ই । র করেত হেব টাপ করার এক করেল িনেচ ক্ট স্ট ন্যে কো গ্নো পে টা প্রো ক্ট টা ক্ট কো ধ্যে প্রো ক্ষ্য য়া এক পলেক িগট ও িগটহাব - 151 মে দে লো গু ন্য থ্য ক্ট সে ধ্যে পে লো নো ক্ট সে টা গু ন্ট বা স্তা না ন্টে রু সে গু টা গু ক্টে ক্ট রু বা গ্নো র েয় যােবন। অ টা নো সে অ্যা রা ক্টে ক্ট কো টা প্রো প্রো ব্য ক্ট সে টা প্রো ক্যা লো টি নো রু ক্স ন অপশন থােক। আিম জা ল করেল উইদ জুনােয়দ দে ন নশন কের িদেত টাপ করার সময়ও ল আইিড িদলাম, বািক ক্টে িগট .gitignore নােম ট িডের িরেত আর িভতের েজ খেবন এ বা আমােদর উদাহরণ node_modules িডের ির ই ক । িগটহােব য়া জ যে এক র করাঃ মােঝম র্ক হেব। ভা ম্যা েজ িডের ির থাকেত পাের চাই ফাইল বানােত হেব ফাইল ট্যা ডা উ ন িব িরত আকাের স্তা এক কো মা ফাইল বহার কের িভতের িলখেত হেব। িগটহাব ক ক ক আম টা থােক। এজ েট README.md নােম এক িডের ির েজ ন্য েজ খােব। ৩। টো েজ ও িল এখানকার ক েজ রা িগটহােবর (with.zonayed.me/post/md-at-a- glance) ন্যা দে অ্যা পে প্রো ট্র্যা দে ২। িরডিম ফাইল আিম এই িসিরেজ খালাম এ র বাইেরও আ রেয়েছ িগট এবং িগটহােবর। অেনক িকছু জানার এবং আেছ। তেব ইন পের বািক সএ ই। আপিন এই গল কের, অথ পারাই হ ইন ধারনা অথ েক(with.zonayed.me/contact) সরাসির বা তো ন্তি ভ্রা টা লো তে শে গু রো ধ বাদ! ব্যা ব্যা মে শ্য নো অসং ন্য দ্দে কো খ্য বা লো যে গু লো নো খ্য গু ব্যা কো দে যে বে বা যা গু , িকছু জানার থাকেল আমােক ইেমইল করেত পােরন, অসং সা মে লো থে জ্ঞা গু শ্য লো ক্ট ধরেত ক, ভুল- িফড করেত পােরনঃ contact@zonayed.me ক জানেল । পাের মতামত, িজ ওেয়বসাইট খার ম কাজ করেত করেতও িশেখ আমার এই বইেয়র আসল উ আর অব ই বইেয়র অেনক কাজ িসক লেত পারেবন। আসেল িগট ও িগটহােবর ন্ট্যা ফে শে ষ কথা িবেশষ ধ বাদ ১। শাহাদাত িশমু ল (shahadat.pro) ন্য িমং পা তা গ্রা প্রো ২। (link.zonayed.me/PPataBN) ন্য ন্যা উইদ জুনােয়দ অ এক পলেক িগট ও িগটহাব - 140