িগট ও িগটহাব জুনােয়দ আহেমদ থম পিরমা ত এিডশন উইদ নােয়দ র্জি WITH.ZONAYED.ME জু প্র এক পলেক ত কথা থেমই আপনােক অেনক অেনক ধ বাদ বই সং হ করার জ । এই উইদ জু নােয়দ করেত পারেবন। তেব এ হেত হেব এবং অব ই ইসােথ খু ব শী ই এই বইেয়র হা কিপও মা ইেজর ম ভােবই কমা য়ািল কের িব যােব । কা সােথ ক্ষি ব্য ন্য দ্দে ন্ট বা প্রি ত্ব ক্রি ঙ্ক ব্যা ধ্যে গ্র ন্য ত্র রো টি শ্য র্মে দ্দে ন্ট শু র্মে টা প্রা না র্কি প্রি প্ল্যা ন্য প্ল্যা র্কে কে শে রা ম্প র্শি শ্যে দ্দে য়া সে র্ড ন্ট ন্ট স্ট্রি ন্টে শ্য প্রি ক্তি ন্ট শ্য ব্যা ধ থাকেব। নো ন্টে টা লো সে কো টি শ্য না টি গ্র কে রো গ্র অ ই টার চাইেল হা কিপ অথ স য়ার করেত টফ র িল টি হেল অব ই অব ই উইদ জু নােয়দ শে িবউট ক কো েত িপিডএফও িড ক্তি তেব বই করেত থাকেত হেব। পাশাপিশ এবং িরজনেবল সং হ করেত পােরন। গত উ বহার েট এেভইেলবল হেব, তাই টা য়ািল , ভা বই ধু মা খার উ ন্য চান তাহেল , সহেজ পড়ার জ ত। থাও য়ার করার র্ণ গত উ শে উ যিদ র্বস্ব তেব সংর উ কিপ কের অ শ্যে করেবন । কের ম্পূ দ বে তাই এই বইেয়র ক টফ র কােছ স র্ড বইেয়র সব ক নু প্র কো ফ্রি কিপরাইট স একজন ই েপ , িমং স ত ইবু ক পাবিলশার িহেসেব আিম আপনােদর সবার সােথ এই বই য়ার করেত ের খু বই আন ত। আপনা েন অ খু িশ হেবন আিম আমার ভিব েত এরকম টু কটাক িবষেয়র উপর আ উপহার আ ওয়ার র িমং ও সফটও েক বই আপনােদরেক করব। আমার এই বই িবশাল টফ কােশর মা েম র ই িনয়ািরং িরেলেটড িবিভ িবষয়সমূ হ আপনােদর সামেন সহজ, সরল এবং সাবলীল ভাষায় তুেল ধরার করব। তেব একজন ই েপ পাবিলশার িহেসেব আমার এই কাজ এবং যাবতীয় িবষয়সমূ হ কত র আগােব েপ আপনােদর র্ম ধ্য ষ্য থে আমােক ভিব েত পে প্ল্যা প্র ঞ্জি র্ণরু টা লো রো ম্পূ গু সে শে য়্যা টা টি র্কি পাই, তাহেল সে সা ম্প র্ট গ্রা পো গ্রা দূ ন্ট প্রো ন্ত ন্ডে ষ্টা লো প্রো র্ভ ন্ট ত্য চে ঞ্জে ন্ডে ন্ডি রে ষ্টা চে ন্ডি জে দে রা র্টে ন্ন ন্দি ষ্য েক এই িবষেয় ভা রো স র উপরই িন র করেছ। আিম যিদ আপনােদর সবার কাছ যে সা পো থে লে খেকর িকছু কথা অেনক অ র িবষেয়র উপর ইবু ক পাবিলশ করেত গােব। পাশাপািশ আপনােদর কােছ আমার অ িপিডএফ ডাউন । এক ধ থাকেব দ কের বই র সােথ য়ার করেবন ড কের সরাসির কা িজিনস ভা হেল অব ই অ েদর সােথ ধও করিছ য়ার করার জ । িক কের আমার টফ সরাসির িপিডএফ য়ার (with.zonayed.me/book/git-nয়ার করেবন। এেত আিম আমার এই বই িঠক কতজন মা ষ পছ কর িদ ত জানেত পার ক , কতজন হণ কর ভিব েত আমােক আ অিভ ধ বাদা কের ইবু ক গ, পরাম আমােক জানা রজ সােজশন থাকেল অ ধ থাক । , রা ন্য টি ন্য শ্য ত্যা র্ম রো লো শে তা প্ল্যা য়া শে গ্র শে গ্র টি ন্য রো রো ষ্য নু লো শ্য রো না নু লো বা ষ্ট যা শে র্শ ন্দ রো শে নু বো র্ন পূ লো ন্য ত্ব ন্য নু রু টা গু লো ঙ্ক যো নো যো থ্য ণা টা তৈ ন্তে নো ন্ট প্রে রো নু ন্তু িদ এমন সং হ করার জ , উইদ জুনােয়দ (with.zonayed.me) ন্টে ই িরেত উৎসািহত করেব। সবেশেষ আপনােক ধ বাদ ক কো উইদ github-at-glance) ই ত্যা য়ার ক উিচত এবং আিম আপনােদরেক অ জুনােয়দ এর িল ন্য না যে আ অব ই উৎস ক হ আমার সহধ জািকয়া আখতার নী র্মি লো রা র্গ … টি কে এই বই ০০ িকছু ক …………………………………………….. ১১ ০১ িগট িক?……………………………………………… ১৩ ০২ িগটহাব িক?………………………………………….. ১৮ িগট টআপ………………………………………… ২২ ০১ িগট কনিফগার……………………………………….. ২৪ ০২ িগট ির টআপ…………………………… ২৬ ক ক ……………………………………. ৩০ িজটির ০৩ টাস ০৪ িজং এিরয়ােত ৩৭ য়া ০৬ ফাইল মিডফাই কের আবার কিমট…………………… সে ৩৫ নে ০৫ ফাইনাল কিমট ক ………………………………….. রা ৩২ রা ও ……………………………. ত্র চে থা পো সে ০০ িগট রু শু স্ট্যা স্টে সূিচপ ০৮ কিমট লগ ৪১ ক………………………………………. ৪৪ ০৯ র ভা েন যাও …………………………………. ৪৭ ১০ ির……………………………………………. ৫০ কআউট…………………………………… ৫২ মিডিফেকশন……………………………. ৫৪ ইেন মা ……………………………………. ৫৯ এ ১১ ১২ নতু ন ১৩ ১৪ কিমেটর সােথ কিমেটর পা ……………………… ৬১ ০০ িগটহােবর সােথ িল ………………………………… ৬৫ ০১ িগটহােব শ…………………………………………. ৬৯ ০২ 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) ক-আউট করার পের আেগর ভা েনই আেছ। এখন আম মিডিফেকশন থা main খেবন ইেন table-version এ ক ইেন আনেত চা । একদম সহজ। অব য় এই কমা িদেলই অ ক মা হেয় যােবঃ > 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 এর সােথ এ িরেস কিমট এবং পেররটায় িদেয়েছ। এটার মােন হ পা তীয় অ ৎ িরমু ভড খােব। েডড ড এবং পের নতুন থেম পােবন। নতুনটার অ সাের আর পের আিম থমটার সােথ খেত চা । এ থম ই কিমেটর থম নতুন আেগর কিমেটর আইিড িদেয়িছ। মােন তীয়টার টার অ সাের ই সােথ কিমট আইিড িদেল িঠক উ খেত খােব। কেয়কবার িনেজ কমা িদেয় খেলই বু ঝেত পারেবন। িবঃ এই অব েন আ কী র আপ-ডাউন কী পা েক র হেত q বাটন চাপ িদেলই হেব। আমার েজ আিম বাইের সবার সােথ িবধা ভাইডােরর সা সও অেনক ন্যে প্র নু দে ন্ড দ্বি প্রো ন্ড টা রো সে টা ফ্রে স্ট ল্টো নো রো এক পলেক িগট ও িগটহাব - 63 পু দে যে ফ্রী প্র প্র র্থা সে শে চ্ছে টা র্থক্য টা ব্য চ্ছে দে ব্য দ্বি রো ন্টা র্ভি ত্রে লো দে লো ন্ট গু গু লো ক্ষে রু প্রো গু প্রো কো বহার করেত পারেবন। িগট স্ক্রি নু স্ট টা স্ট চ্ছি সু ক্ষ্য স্থা হো টা মো ক্ট টা নো প্রো রো ন্তু বা রো নো দে ন্ট পু প্রো বে টা র্ডে নো ক্য বো কো দ্রঃ বো িগটহাব। আ । কাছাকািছ ইউজার ই রেফস থাকায় তাই পের চাইেলও উইদ জুনােয়দ রো ভাইড আজেক আিম িগটহােবই িকভােব িক করেবন সব অ র্থ্য িল এবং েত ভাইডারই হ হো খা িগট সহ আমােক করেব। এরকম এক আেছ, িক য়ার করেত চাই। এজ ভাইডার লাগেব, আমােক িগেটর ন্য খেত (যিদ থােক) বহার করেত পােরন। আর এখান আমােদর এক র্গু পু অ্যা প্র দে থে দে এখােন আ িগটহাব থেম আপিন িগটহােব(github.com) এক কের িনন। এখান কাউ েক(github.com/join) েয়ট করেত হেব। তারপর ইেমইল েয়ট কাউ িরিফেকশনসহ যাবতীয় ফাইেলর ইনফরেমশন িদেয় িনেজ িনেজ বািক কাজ করেত পারেবন আ কির। এখন আপনার িগটহােবর এক স িচ কাউ এ লিগন করেল উপের ডান পােশ খেত পােবন। পােবন। এখােন করার ক করেল আপনােক নতুন ির ন কারেণ যিদ িগটহােবর ই রেফেসর হেয় থােক তাহেল হয় অ রকম ইউআই খেত নু ন্ট মে ক্রি টা দে দে রী ন্ট অ্যা খা তৈ ন্টা লে পো এক পলেক িগট ও িগটহাব - 65 অ্যা টা ন্য ক্লি ভে তো সে ন্ট অ্যা ঙ্ক কো িগটহাব থে ক্লি দে হ্ন ঞ্জ শা উইদ জুনােয়দ চে ক করেল এক খেত িডজাইন প্লা খােন ওেপন হেব এখােন New repository নােম েজ িনেয় যােব। টা প্র ক্রি প্রো পে ০০ িগটহােবর সােথ িল এখন মূ লত িগটহােব New repository ওেপন করব। এই অপশন চু জ করেবন তারপর এখােন থেম আপনার ির জটিরর নাম ( মন আিম িদলাম learning-git) িদেবন। ির িজটিরর নাম ইউিনক এবং ইউ- আর-এল িল হেত হেব অব ই। পেরর পশন িফ অপশনাল, চাইেল িকছু িদেতও পােরন আবার খািলও রাখেত পােরন। এরপেরর িফ আসেব খােন আপিন িক পাবিলক ির করেবন নািক ইেভট করেবন কাউ হেয় থাকেল িজ জটির করার স পােবন। তারপর বািক িফ এভােবই েখ Create ক ক ন। ল্ড পো স্ক্রি পো রে যে এক পলেক িগট ও িগটহাব - 66 ডে রা সা জ্ঞা লা গু ত্র শ্য ল্ড টা পো পো সে শু রু সে িগটহাব ক্লি রা ল্ড প্র প্রা ন্ড ন্ট ফ্রে যে টি হেয়েছ। আপনার পাবিলক ির উইদ জুনােয়দ অ্যা ক জটির ধু মা repository বাটেন ক্সে ফ্রী অ্যা পােরন। বাট আম অপশন চু জ কেরন স! আপনার িগটহােব নতুন ির প আসেলই অেনক দরকা র জ । এখােন একদম নতুন িগট ির রী ক্ট প্রো পো লা গু যে ন্য দে লো পো তো গু ট্রা স্টে প্লি এক পলেক িগট ও িগটহাব - 67 প্র িগটহাব ক্রি েজ েক িকভােব িগটহােবর উইদ জুনােয়দ ন্স জটির জটির আেছ এমন ক্ট অলেরিড িগট ির আপনার করেবন ( থম ) বা পরব খেবন টা কশন েয়ট কম ট। এখন পো িকছু ই জটির বািনেয় িকভােব িগটহােবর সােথ কােন র্তি ব্যা এখােন আপনার মনম সােথ কােন করেবন ( তীয় ) েহতু িগট ির আমােদর আেছ। তীয় িগটহাব এক পলেক িগট ও িগটহাব - 68 ও আেছ দ্বি য়া কশন দে িনেয়ও িকছু ই য়া ন্স দে সে ট্রা ন্স টা পো দ্বি লো গু য়ী সে নু ক্ট যে উইদ জুনােয়দ ট্রা ও কশন অ যা কাজ করব। িক িক করেত পােরন ন্স কশন জটির অলেরিড আেছ, তাই ট্রা ই ই ই এখন কমা লাইন েক আপনার খু ন থাকেল আপিন িড আপনার শ করার জ ড শ করেত ভুলেবন নে ক্ট এক পলেক িগট ও িগটহাব - 69 রা ঞ্চে লো ব্রা পু ক্ট নো কো কো প্রো দে না । কখনই িগটহাব থে না রে চে ন্ড পু আেছন। main েজ উইদ জুনােয়দ রা ন কা ক কের বািক আেছ। ঞ্চে তারপর এটাও কাজ কিমট ক ব্রা আেছ িক , নািক ক র ক্টে ন সবিকছু চেল যান। git status িদেয় িশউর হেয় কিমট ক কো কাল িডের িরেত থা ন্যে েজ ষ্টে প্রো ০১ িগটহােব পুশ িগটহােব > ও ই কশন অ যা শ করব। তার জ আমােদর এই েজ থেম আপনােক remote ড করেত হেব এভােবঃ origin git remote add origin git@github.com:zonayedpca/learning -git.git SSH েল এক পলেক িগট ও িগটহাব - 70 ক্ট টা ঙ্ক ব্য য়ী নু প্র পে রা ন্যে ক্টে টা থে ট্রা ন্স িগটহাব প্রো য়া বো লো দে প্র দে ক্লি েজ েয় যােবনঃ ক্টে ক কের খু ব সহেজই েজ গে Code বাটেন টা আপিন আপনার ক্রি খা বহার কের প্রো । িলংক SSH ল- শ ক ক্টে ঙ্ক অ্যা রা পু যে প্রো েক খুঁ েজ পােবন। আর এ থেম এখােন আম উইদ জুনােয়দ পু েয়ট টা েহতু িলংক েকশন িগটহােব প্রো েজ র েজ র হেব, িল প্রো ক আপনার ক্টে এখােন িল রা পু এখন িগটহােব আপনার েজ থমবার ড করেত হেব, পেরর বার শ করার সময় লাগেব । কারণ হ আপনার করেত চা ন আপনার হেব। পেররবার েক মেন রাখেব। তখন এখন শ করেত চাইেলঃ েজ বাট ওেয়ট! আপিন যিদ এখিন আপিন শ করেলই হেব। টআপ কের থােকন তাহেল কাজ করেত হেব। ক্ট না এক পলেক িগট ও িগটহাব - 71 পু প্র শু না প্রো সে অ্যা চ্ছে প্র র্বে র্ন টা পূ পূ সে পু ত্ব িগটহাব সে ক্টে রু । আপনােক এর আেগ পু টও না গু চ্ছে থে পু প্রো ক্ট ছো টা ধু শ করেত পারেবন উইদ জুনােয়দ প্রো থায় থমবারই বেল িদেত কো আেরক স্ট েজ িগটহাব প্রো হয় তো েজ আপিন git push origin master ক্টে > টা হো এ আপিন আপনার টআপ কািল থা েজ িগটহাব এ শ করেবন, তার আেগ আপনােক অেথন েকেটড পা ন হেত হেব। ধ ন সবু েক আপিন আপনার কাউ েক কাউেক েসজ আপনােক সবু েক ঢু েক ইউজারেনম/ইেমইল, পাসওয়া িদেয় লগইন কের সবু কেক আপনার পিরচয় িদেত হেব পাঠােবন, িক একদম নতুন িডভাইেস এই কাজ করেত হেল থেম আিমই এই আইিডর মািলক। মিন আপনার কাল িগট েকও িগটহােব শ করার ও আপনােক আেগ িগটহাবেক মাণ করেত হেব আপনার কাউ আপিনই আপনার ড অথ বা রু ম্যা প্র র্ড পু যে লো পু এক পলেক িগট ও িগটহাব - 72 যে টা থে যে প্রো ন্ট ক্ট থে প্র প্রো টি অ্যা কা লো িগটহাব সে বা ন্টে লো র্বে পূ ন্তু ফে ফে অ্যা আপ িগটহােব ইউজারেনম/ইেমইল আর পাসওয়া িদেয় উইদ জুনােয়দ তে েজ র্ড শ করেবন। ক্টে িগটহাব র্স িঠক ত্রে ফে ক্ষে পু ০২ SSH কী অথ েকন এর সাহা কাজ করেত হেব। তেব আপিন আপনার গত িশেন ও িগটহাব িনেয় কাজ করেবন ওয়াটাই সবেচেয় সামিয়ক সমেয়র জ করেত েল তখন ক উিচত। খা অ টআপ পার ন েক কাজ থেম িকভােব SSH টআপ েষর িদেক িকভােব টাও থাকেব। উই একটু আলা আলা ক িলনা র ওেপন ক ন। আর উই ভািরট টা নাল হেল িগট েসর টা নাল িলখু নঃ ls -al ~/.ssh টা টা ক্সে র্মি টো র্মি সে য্যে থে টো কী সে ম্যা ব্যা প্র কী এক পলেক িগট ও িগটহাব - 73 ফে ম্যা যে কো ন্ডো টো দা ন্য শে ত্রে বা টি সে প্র ন্ড ক্ষে ম্যা ন্য টা দা কী ত্রে ক্তি ক্ষে ন্ডো ব্যা সে রা িগটহাব সে বো তো ক্সে যে দে টা রা টা বা সে রু টা সে গে টা টা র আপিন আপনার েজর উইদ জুনােয়দ সে ক, িলনা হেত পাের, তেব িদনেশেষ ওেপন কেরন এবং িনেচর এই কমা ম্যা জ আর েকন ইমই। ১। > েকন এর িশন এবং বইেয়র বহার কের করেবন জ টআপ কের ইফ এবং িসিকউরড। আর পার করেবন খােন িতিনয়ত এই িগট খােন 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)” আপনােক আপনার নতুন ৪। তারপর এই SSH এেজ িক > রম ইেভট ’টােক (id_rsa) েয়ট ক ড করেত হেবঃ ssh-add ~/.ssh/id_rsa ৫ । এ বা র আ ম আ মা েদ র পা ব িল ক S S H (id_rsa.pub) কিপ করব। এ ট ড িদেয় উ আপিন ন ’ টা েক ড এিডটর, ভােবই করেত পারেবন। আপনার হেব 'টােক কিপ ক । উই েজ হেল িগট শ ইন েক এভােব কিপ করেত পারেবনঃ cat ~/.ssh/id_rsa.pub | clip ন্য রা মে থে নো কী ক্রি ব্যা এক পলেক িগট ও িগটহাব - 75 কো কো ণ্ডে গ্রা ন্ডো ব্যা টা ন্ট রা ন্টে নো কী িগটহাব কো রা যে প্রা বা কী ব্য ধ্যে টা ন্ড লো প্যা শ্য গু উইদ জুনােয়দ অ্যা > দ্দে নো ৩। তারপর আপনােক 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 এখােন আমার ির জ ফ কের থাকেল আপিনও হয়ত িনেয় কাজ করেছন। তাই আম zonayed নামক িডের িরেত েজ এখন এ র িদেল আ েজ আ ন করার পর learning-git- খেবন টেপ জটির। ল্ট ঙ্ক ক্ট ন্ট লো সে ন্যে ক্লো কো পো এক পলেক িগট ও িগটহাব - 90 ক্লো টা ন্ড ক্ট স্ক না ডে ক্লো রা ক্ট ক্লো ক্ট প্রো স্তে ক্ট প্রো স্তে প্রো টা ম্যা তো ক্লো সে টা টা ক্ট সে ক্লো ক্ট লো িগটহাব পো ন কেরিছ। েজ চেল আসেছ। আর এটাই র্গু ন ক ির টা লো চ্ছে দে ক্ট প্রো খা দে রা যে লে প্রো বোঃ ম্যা স্ক ক্লো প্র ন্টা টি ডে ন হেয় যােব আপনার টেপ উইদ জুনােয়দ ক্ট । আিম আমার আপনার রা ন করার জ িশেন। ধির, এ with-zonayed নােম এক ন্ড অপশনাল আ েম টাও learning-git-with- এখন পো ইম নােমর িদলাম আমােদর মন ম কাল পো লো এভােব বহার করেত পারেবন, কািল সবই করেত পারেবন। আর এই েক ন কেরেছন আপিন এই টাই েজ মিডফাই করেত পারেবন, েজ র remote আপিন খান ট ক থাকেব অ িল। হেয় থাকেল এই ির েট েজ র Collaborator শ করেত পারেবন , আর Collaborator হেয় থাকেল এই েজ ই শ করেত পারেবন আপনার ক নতুন কিমট। মো যে ক্যা টি ম্যা নো টো এক পলেক িগট ও িগটহাব - 91 কো রা ক্ট না ক্টা রা প্রো প্রো সে লো সে িগটহাব না ক্টে পু প্রো ক্লো উইদ জুনােয়দ ক্টে ব্য থে পু প্রো এখন এটার িভতের িগেয় আপিন আবার চাইেল কাজ কের িগট েজ এখােন আপিন আমার ক িবউট করেত চা েজ ন। ক িবউট করেত চা থ েম আ মা র িগ ট হা েব র েজ েজ একদম উপের ডান সরাসির 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 স এবার আপনার ফাইল শ কম ট হেয় েল আপনার িগটহাব ক েজ িগেয় খেবন নতুন ক েজ িগেয় খেবন এখােন েক আপনার ফ এই কিমট শ হেয়েছ। এখন িগটহােব আপনার ফ ইন েজ েক এক কিমট এিগেয় আেছ আপিন Open pull request নােমর বাটন খেত পােবন। এই বহার কেরই আপিন খা রম গে রা চ্ছে দে যে দে দে টি এক পলেক িগট ও িগটহাব - 95 দে টি ক্টে গে ক্টে ক্টে প্রো প্রো প্রো রা প্লি রা মে র্ক টা র্ক টার ই িগটহাব পু তৈ স্ট তো থে ক্ট নো কো থে পু দে ব্য প্রো পু েল ির করেত পারেবন। উইদ জুনােয়দ র্বে আপনার ক ঞ্জ েয় েজ চে ল ির ইন ইম টি । আর এর খােন জ পূ খা িঠক ডান পােশই আেছ Contribute বাটন বাটন ন্য ব্যা প্রো মে সে > ক করেল পেরর সােথ আপনার ফ ক েজ আপনােক েজ এর ইন েজ এর স খােব। এখােন যিদও খেছন Able to merge, তেব ন কারেণ আপিন আপনার ফ ক যিদ েজ কাজ করেত করেত ন আপেডট আেস তাহেল এ 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 pop মেন রাখেবন এই পপ কমা আপনার স েশষ কাজ শ িল ক করেব এবং য়ার স রাখেত স্ট রা লো সে গু ক্লি টা যো স্ট্যা সু ঞ্জে পে ন্যঃ চে এক পলেক িগট ও িগটহাব - 126 ন্য ন্যা দে য্যে শে শে থে লো র িগট স্থা দে গু রে ন্ড ন্ডে রে ন্য ফে টি টা স্ট্যা ন্ড স্বা সে স্ট্যা স্থ যে এ সু লো টা গু স্ট্যা রা টি সু ন্ড ঞ্জে ঞ্চ ব্য চে ব্রা ব্যা র্ধে দে ন্ড লো লো টি র্ধে টি স্ট্যা গু গু ন্ড উইদ জুনােয়দ শ ক েকও এটােক েহতু আপিন একািধক েশ র্ব ই কের িদেব। তেব প্লো ষ হেয় যােব তখন - ভািবক অব য় িফের পােবন িনেচর স্ট > রা েয় যােবন। git stash কমা ক্স ই পপ িদেত থাকেল সবার স আপিন েশও > েষ স িফিরেয় িনেয় আসেবন, আবার েখ িদেবন, আপিন িনেচর কমা র িব হ করার পরও আবার েক এ র স পােবনঃ েশ একািধক র রা যায়, আম চাইেল শ আপিন স > েনিছ র িল ও খেত পার এভােবঃ git stash list যিদ য়াল কেরন তাহেল খেবন ক আইেটেমর আেগ এখােন stash@{n}, এখােন n মােন না র িদেয় মা আেছ। রা সে প্লা ব্য অ্যা রা অ্যা টি ন্ড এক পলেক িগট ও িগটহাব - 127 রা ক্সে র িগট খা অ্যা ম্বা ত্যে লো প্র লো বা ধা ঞ্জে বো গু ক্র চে সু লো ত্রে র্যা গু দে ক্ষে টি সে থে ঞ্জে ন্ড চে দে স্ট্যা ত্রে স্ট স্ট্যা ক্ষে প্র ব্য সে যে রে লো লো টা গু জে গু খে এ ঞ্জে git stash apply stash@{1} চে > র্ক git stash pop stash@{3} শে > উইদ জুনােয়দ রা ক বহার কেরও pop অথ apply করেত পারেবনঃ টা আপিন এ প্লো ই git stash apply স ঞ্জে বহার করেত পােরন। এই কমা আম ঞ্জে ড ক থম িহেসেব প য় েম আসেত থাকেব। তেব আপিন যিদ চান ক্স চে স্ট্যা চে পারেবন, শ িল য়ার কের লেত চান তাহেল এই কমা বহার করেবনঃ > git stash clear ন > েসিফক আইেটম শ শ কমা িবষয় অব ই এভােব িডের িরর অথ িডের ির ড কের থােকন তাহেল যােব , আপনােক এক চা েশ রাখেব। ন ফাইল এভােব গ ক েশ বহার কের িগটেক বেল ও েশ িনেত git stash -u টি চ্ছে ন্ড ট্র্যা স্ট্যা টা সে কো স্ট্যা এক পলেক িগট ও িগটহাব - 128 স্ট্যা লো লো গু লো গু গু সে র িগট ব্য ক্ট ঞ্জে চে ফ্ল্যা খে থে টা ফে শ্য ক্ট স্ট্যা ব্য বা এ শে ক্লি টা অ্যা ত্রে স্ট টি ক্ট ক্ষে যে ন্ড সে স্পে না স্ট্যা বা হ নঃ উইদ জুনােয়দ প্লো ও আপিন নতুন ফাইল, িডের ির িদেত হেব রা স ষ কিমেটর পর এেকবাের নতুন আপিন যিদ আপনার > য়াল রাখেত হেব, বহার করেল আপনার অলেরিড িগেট ক (কিমেটড) ফাইল চ্ছে েক িরমু ভ করেত চাইেলঃ git stash drop stash@{n} তেব এখােন এক ক্স কো ব্য স্ট্যা যিদ িগট িরেসট ওয়ািফ একিদন কাজ করেত িগেয় ভুেল এখ ড কিমট কের আের আম িগট িনেয় খু বই েলেছ। িক সািহর তখন বহার করিছ, সম এখােন এমন িসচু েয়শনও খু ব সহেজই reset কমা র সাহা ল ক েক েসিফক ন কিমেটর পরব স না রা রে কো রা ঞ্জে স্যা চে পু টা রা ন্তু রো এক পলেক িগট ও িগটহাব - 129 র্তি নো ন্যে ন্ডে র্তি র িগট হ্যা ফে স্থা ব্য ফে কো র্বে টা তো পূ ন্ড রা এ য্যে ব্য যে লো গু স্পে টি ন্ড ন্ডে ঞ্জে কো লো উইদ জুনােয়দ চে git এভােব িদেবনঃ পু আনডু করেত, তাহেল কমা নো ই আপনা র অব য় িফিরেয় আনেত পারেবন। সে আপিন যিদ চান প্লো যায় git বহার কের আপনােদর অলেরিড কিমট ক স কো থায়? । আর িঠক এইধরেনর িসচু েয়শেনর জ reset কমা িড এ লো তােক বল েল। পরব েত েহতু কিমট কের নশেন পের যায় ির গু এমন িকছু ক্স টে হ্যা যে ০২ git reset <commit_id> কিমট আইিড টাও িদেত পারেবন অথ git log -- oneline এ মন শ আইিড পাও টাও যায় বহার করেত পারেবন। এ আপনার উ কিমেটর পরব স িছ আনকিমেটড অব য় চেল যােব। তেব আপিন যিদ চান উ কিমেটর পরব উপ কমা স এেকবােরই চেল যাক তাহেল এভােব িদেত হেবঃ git reset <commit_id> --hard তেব মেন রাখেবন অলেরিড িগটহােব ির েত উ কিমটসহ শ কের ন কিমট িরেসট করা অ লাবেরটর িরকেম েহতু এ , আপনার েত পাের হঠাত এক যে টা লো মো লো গু ব্য কো ব্য টা ক্ষে ঞ্জে এক পলেক িগট ও িগটহাব - 130 রা চে বা সে যে যে র িগট যে যে স্থ বা না য়া র্তি ফে লো ন্ডে গু স্থা ঞ্জে র্ট চে টা পু এ রা গে ক্ত র্তি রো যে টি পু ন্ড শী ক্ত বে কো ক্ত টি ত্রে লো ন্য রো ন্ড গু প্লো ক্ষে বহার কের েল। ঐরকম পির িতেত git revert উইদ জুনােয়দ ক্ত ড ট ইউজফুল। কমা পো ন ির েলন তাহেল এ কনিফউজড হেয় কিমট উধাও হেয় ন্যা আপনা ত্রে > ক্স সে কো > িগট িরভা git revert কমা স ও অলেরিড আেছ এমন েক িরভা িরভা বাদ বাদ িদেত ও ওয়ার পর কিমট আসেব খােন আপিন চাইেল কা ম িডফ েখও :wq (write & quite) িলেখ িরেয় আসেত ইভ করেলই হেব। বা ত্রে ম্প ক্ষে প্র টা ত্রে কো ক্ষে বে য্যে ন্য এক পলেক িগট ও িগটহাব - 131 সে সে ঐটােত েখ র িগট রা ম্যা টা ব্য ল্ট ন্ন টা স্ট ম্যা য়ী বা নু টি র্ট বা ন্ড র্ট ট েসজ িদেত পােরন অথ িডফ এ লা য়া এক িভ হেত পাের, েসজ মিডফাই কের র্ট দে টা সে দে রে লো যে গু বা টি টা ম্যা র্ট ন্ড , এই কারেণই েসজ িলখার জ টআপ অ যা উইদ জুনােয়দ ল্ট কিমেটর সাহা কমা কিমট প্লো হয়। তেব এ git revert <commit_id> পােরন। িগট ঞ্জে ন কিমেটর হয়ঃ রে > বহার ক হয় আেরক মূ লত এটােক িরভা ব ক্স চে ০৩ হওয়ার পর যিদ আপিন িগট লগ েখন তাহেল খেবন এখােন আেরক কিমট ক হেয়েছ িরভা করার জ । git reset আর revert এর ম reset কমা যাও এক যায় পরব নতুন মূ লত এখােনই থা স প কিমট বাদ িদেয়। ন কিমট ির হয় । আর revert এর স সব বাদ মা েম। ির কিমট প পা সব কিমেটর আপনার েত থাকেল অ খেবন িফের ই সােথ এ ও হয় নতুন আেরক েজ িগটহােব এক কিমট এর ির ক িবউটররাও িরভা র কিমট পােব এবং কনিফউজড হেব । এছাড়াও আপিন িগট লগ মাণ ট ন খেত খেল খােন reset ক হেল ন লগ পােবন খােন revert ক হেল টার জ আেরক কিমট অ ৎ লগ র িগট এক পলেক িগট ও িগটহাব - 132 যে টা না ত্রে কো ক্ষে দে দে দে ন্ত ত্রে টা মো র্থা র্য টা ক্ষে লো ন্য বা বা গু সে টা র্টে ঞ্জে প্র দে চে র্ট কা ধ্যে ন্য টি কো ক্ট য়া ন্ত র্য দে প্রো না না রা সে ন্ট্র রা লো গু ন্য টা এ রা ন্যা তৈ লো র্তি গু ত্রে টা ন্ডে ক্ষে ঞ্জে সে চে যে কো র্ট য়া প্লো ধ্য পো উইদ জুনােয়দ র্থক্য খেত পােবন। ক্স দে যে দে িরভা িগট িরেবস সািহর নতুন এক েজ জ িফচার িনেয় কাজ করেব, তাই কআউট কের নতুন িফচার েক main আেরক তার কাজ ওয়ািফ আবার ইন েক কিমটও কের যা ডাকশন main ই নতুন কাজ অ । এরম নতুন িকছু আ কেরেছ। এখন এিদেক সািহরও চা ও যােত main এর এর । এখন সািহর তার নতুন িফচার িনেয় কাজ করেছ, অ কের কাজ কের কাজ যু েভলপেম েয়ট কর feature নতুন feature তার 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 এর সােথ স েশষ কিমট পেরর কিমট একপােশ রা ঐ ইক র কিমট ির পাও git log খেত পােবন। পাবিলক ির অথ করাই অব ই সবাইেক ইনফ হেয় েত পাের। িগট িরেবস র্স ব্য ধ্যে ব্রা ঞ্চে র্ব বা এক পলেক িগট ও িগটহাব - 135 রা যে না ত্রে র্ম টি র িগট লো দে গু বা বে যে ঞ্চ ঞ্চে ঞ্চে ব্রা ব্রা যে ব্রা দে য়া ত্ত টি ঞ্চে ন্ড না লা প্র ঞ্চে ব্রা র্থক্য খা বহার কের করেত হেব, র্জে শ বড় ঝােম ব্রা কা শ্য রা ব্য দে স্টো টার। অথ যিদ কো বহার ন েমর একািধক পা ন র্ত িজটিরেত থা এ দু ন্ড ঞ্চে টা প্লা ব্রা বে সে বোঃ ঞ্চে লো অ্যা ব্রা গু ন্ড খা পো টা লো কো দু গু লো ব্য গু লো ন্ড প্লো র চাইেত এরকম ইউজফুল হেলও উইদ জুনােয়দ ঞ্জে েক আবার িসিরয়ািল তেব এই git rebase কমা অ থায় এখােন ঞ্চ হেব। তারপর যােব। আপনা বহার কেরও ইটার পা কেরনও তাহেল গু আ র এর হেব। আর িঠক এভােবই মা কাজ করেছ এমন ন্য িঠক এর পেরর হেব। তারপর main feature নার িগট কিমেটর িহ কমা র েক feature র পর িঠক কিমেটর সােথ স েশষ িমল র, feature েক একপােশ রা আমার ব মান main এর ম ন কিমেট িমল রেয়েছ। রেয়েছ ই খেব দ ক্ষে > ক্স চে ব্যা ব্রা আনেত চাই তাহেল আিম feature এ থাকাকালীন এরকম কমা িদ র্ব ক্লি স কিমেটর িহ শও(কিমট আইিড) ির কের েল, এমনিক কিমেটর কের েল, ইম আেরকজন তখন আপিন িরেবস করেল জ িদ। তেব কােল আেছ এমন ন নএ কিমটেক রা লো গু ব্য ঞ্চে এক পলেক িগট ও িগটহাব - 136 ঞ্জে কো ত্র ফে লো লাবেরটরেদর বহার করেত র িগট কো গু ন্য কা সে শু ন্যা ঞ্চে ঞ্জ ফে রী ব্রা চে রু পো য়া স্টো ত্যা ঞ্জ মো চ্ছে চে এ নে না ত্যা টা না লো টিং নে না ক্সি লো ধা বাঁ স্যা প্লো ক্স উইদ জুনােয়দ ন্ড । কো করেলই হ ক্সি উলটপালট বহার এই কমা েত থা ব্রা ট ির চে ই। খািল ির ন্ড ন থায় ধু মা আপিন কাজ করেছন স্টিং িদ ই আর বহার করার আপিন িঠক করার কারেণ অ ই আপনার ও ব্য হেব িক স কো ভােব বু েঝ করেছন আর এ সম র নরমালভােব। অতএব এই কমা সে ভা কাজ ক ব্য ল করেত পারেব র্বে যে হ্যা পু পূ বা কো েহতু এ য়ািশং নতুন এক । এখন েভলপেম কর য়ার কের ডাকশন main মা এ তােদর করেব। এখন তা য়াল কর অেনক ির ক হেয়েছ এক িফচার। কিমট িহ কিমট থাকেল একটু আন ন তার এই new-feature েভলপেম এর সময়, অথচ িরেত এত েত পাের। র সব আপেডট না ন্ত চে লো ব্রা শে যে খা থে এক পলেক িগট ও িগটহাব - 137 রু দে ন্ট ঞ্চে শু স্টো তৈ ঞ্চ ব্রা ব্রা ক্লি র িগট ন্ট ডে প্রো টা সে ডে টা মে লো টি সে রা টা প্রো ঞ্চ ব্রা টা ঞ্চে তৈ টি খে টো ব্রা রা রা ক্টে শে ছো এ বে উইদ জুনােয়দ স্কো টার হয় যিদ new-feature সে এই অব য় ঞ্চে খু বই ইন লো কিমট । সািহেরর সােথ তা ন্ট লো টো লো প্রো ছো স্থা গু টা ন্ত টো প্লো ির কর ষ করার পর িন িফচার দ্ধা new-feature তার েভলপেম িস কআউট সে এই নতুন েক লো কের নতুন আেরক ডাকশন main র্জ তােদর ঞ্চে কের, তাই িফচার িনেয় কাজ করার িচ ভাব ব্রা েজ গু ওয়ািফ ক্স সে ডে ছো িগট ০৫ এক কিমেটর মা েম িঠক ইম কাজটাই স ব িগট িগট য়ািশং এর ইন 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 Pack এ ক করেত হেব। তারপর আপনার আইিড কা কিপ অথ ইেমইল আর ই ই এক উেটর নাম িদেয় িরিফেকশন িময়াম িগটহাব র স িদেব ই বছেরর জ । আনিলিমেটড ইেভট িজটির েয়ট করেত পারেবন। ই বছর পর আবার ই ন্যে প্লা স্ক্যা অ্যা প্রা য়া দে দে প্রি ন্য ফ্রী থে এক পলেক িগট ও িগটহাব - 148 ঙ্কে লা টি ন্য ন্য গু র্সি দু টা প্যা প্লা শু দু অ্যা বা দু প্লি প্রি র্ড ন্য অ ডে ন্ট ক্সে প্র ন্ট ন্ট অ্যা ক্রি স্টু ক্লি টি বা স্টু লো র্সি টি গু টি ন্য স্টু পো ন িডেটইলস সােথ েসস কম ট কের আপনােক উইদ জুনােয়দ ন্স র ই কের িদেত হেব। িগটহাব ন্যা ির অ র্ডে িফচার ন্যা ব্য ভে েড েদর জ িগটহােবর অফার ইমভােব ইবছর পােবন, মােন যত ন প ন্ট স্টু এক পলেক িগট ও িগটহাব - 149 ক্ষ অ দু ন্ত র্য সে ক্ষ রো ন্য ন্যা উইদ জুনােয়দ েড পােবন। ন্ত আেছন তত ন প র্য কের আবা ১। িকছু েজ কাউেক ক িগটহােবর েজ র িবউটর িহসােব ড করাঃ আপনার েজ িগেয় উপের খু ন Settings নােম ক করেল পেরর েজ এক সাইডবার পােবন। ঐখােন Collaborators নােম এক আেছ। এখােন এক ব আেছ। ঐখােন ক করেল পেরর আসেব। যােক খা েব েজ Collaborator ড করার জ ফ ড করেত চান তার ইউজারেনম িদেল তােক প ডা উ েন । ঐ খা ন Collaborator িহেসেব েক িস েল ক ের িদ েল ই েহতু অেনক ড হেয় যােব। এখােন কাজ করেতেছন তাই েপ পাসওয়া িদেত হেত পাের। র্ম র্ড ন্যে টা যে নু স্টে ক্ট মে অ্যা পে টা নো এক পলেক িগট ও িগটহাব - 150 অ্যা দে কো নো থে কো ন্ট্রি ক্লি অ্যা অ পে পে ক্টে অ্যা ক্টে প্রো ড্র ট্যা রো র্ন পূ প্রো টা ত্ব ন্য রু উইদ জুনােয়দ ন্যা ক্লি দে গু আ ০৩ ড করাঃ মােঝ ম িগটহােবর েজ খেবন িনেচ েজ র িব িরত ত ও থােক। এজ আপনার েজ র ড ক র েত িসন অ েট README.md নােম এক হ েব । আ র এ র িভ ত ের িব িরত আকাের িডের ির ফাইল ইগ এমন ফাইল ক ক ক আম চাই এক ফাইল বানােত হেব ফাইল িডের ির ই হেব। ভা এক । টাপ করার এক র করেল িনেচ েয় যােবন। ক্ট স্ট ন্যে কো গ্নো পে টা প্রো ক্ট টা যে ক্ট কো ধ্যে প্রো ক্ষ্য য়া এক পলেক িগট ও িগটহাব - 151 মে দে লো স্তা গু ন্য থ্য ক্ট সে ধ্যে পে লো নো ক্ট সে টা ন অপশন থােক। আিম জা ল করেল গু ন্ট বা স্তা না ন্টে রু সে গু টা গু ক্টে ক্ট রু বা গ্নো ন নশন কের িদেত অ টা নো সে অ্যা রা ক্টে ক্ট কো টা প্রো প্রো ব্য ক্ট সে টা প্রো ক্যা লো টি নো রু ক্স দে ক্টে বা য়া িগট .gitignore নােম টাপ করার সময়ও ল উইদ জুনােয়দ ম্যা জ র করেত হেব আইিড িদলাম, বািক ট্যা আমােদর িডের ির থাকেত পাের ট িডের িরেত আর িভতের েজ খেবন এ কো েজ উদাহরণ node_modules িডের ির ই ক । িগটহােব টা র করাঃ মােঝম র্ক েজ ন্য ডা উ ন খােব। ৩। টো মা ফাইল বহার কের িভতের িলখেত হেব। িগটহাব িল এখানকার ক েজ রা েজ (with.zonayed.me/post/md-at-a- glance) ন্যা দে অ্যা পে প্রো ট্র্যা দে ২। িরডিম ফাইল আিম এই িসিরেজ খালাম এ র বাইেরও আ রেয়েছ িগট এবং িগটহােবর। অেনক িকছু জানার এবং আেছ। তেব ইন পের বািক সএ ই। আপিন এই গল কের, অথ পারাই হ ইন ধারনা অথ েক(with.zonayed.me/contact) সরাসির বা তো ন্তি ভ্রা টা লো তে শে গু রো ধ বাদ! ব্যা ব্যা মে শ্য নো অসং ন্য দ্দে কো খ্য বা লো যে গু লো নো খ্য গু ব্যা কো দে যে বে বা যা গু , িকছু জানার থাকেল আমােক ইেমইল করেত পােরন, অসং সা মে লো থে জ্ঞা গু শ্য লো ক্ট ধরেত ক, ভুল- িফড করেত পােরনঃ contact@zonayed.me ক জানেল । পাের মতামত, িজ ওেয়বসাইট খার ম কাজ করেত করেতও িশেখ আমার এই বইেয়র আসল উ আর অব ই বইেয়র অেনক কাজ িসক লেত পারেবন। আসেল িগট ও িগটহােবর ন্ট্যা ফে শে ষ কথা িবেশষ ধ বাদ ১। শাহাদাত িশমু ল (shahadat.pro) ন্য িমং পা তা গ্রা প্রো ২। (link.zonayed.me/PPataBN) ন্য ন্যা উইদ জুনােয়দ অ এক পলেক িগট ও িগটহাব - 140