প্রথম রিপোজিটরি: init, add, commit এবং ইনডেক্সের যাদু
আমরা আমাদের প্রথম রিপোজিটরি তৈরি করব এবং সাথে সাথে এমন একটি ধারণার মুখোমুখি হব যা অনেকেই বছরের পর বছর বুঝতে পারেন না — স্টেজিং এরিয়া (ইনডেক্স)। আমরা বিশ্লেষণ করব কেন ওয়ার্কিং ফোল্ডার এবং ইতিহাসের মধ্যে এই 'মধ্যবর্তী স্তর' প্রয়োজন, এবং উদাহরণসহ দেখব কেন দ্বি-পদক্ষেপ সিস্টেম add → commit কমিটগুলিকে অর্থপূর্ণ করে, আকস্মিক নয়।
- আপনি বুঝতে পারবেন কেন স্টেজিং এরিয়া বিদ্যমান এবং এটি কীভাবে পরমাণু ও অর্থপূর্ণ কমিট তৈরি করতে সাহায্য করে।
- আপনি একটি রিপোজিটরি তৈরি করতে, ফাইল ইনডেক্সে যুক্ত করতে এবং সঠিক বার্তা সহ প্রথম কমিট রেকর্ড করতে সক্ষম হবেন।
- আপনি git add -p ব্যবহার করে ফাইলের শুধুমাত্র কিছু অংশ কমিটে যুক্ত করার পদ্ধতি শিখবেন।
จุดเริ่มต้นของบทเรียน
প্রথম রিপোজিটরি তৈরি করা
- `git init` একটি লুকানো ফোল্ডার `.git` তৈরি করে
- `.git`-এ সমস্ত পরিবর্তনের ইতিহাস সংরক্ষিত থাকে
- যেকোনো ফোল্ডারে রিপোজিটরি তৈরি করা যায়
- বিদ্যমান ফাইলগুলি আনট্র্যাক করা অবস্থায় থাকে
- উপমা: একটি নতুন খাতায় ডায়েরি লেখা শুরু করা
মনে করুন আপনার প্রকল্পটি একটি বই, এবং রিপোজিটরিটি তার খসড়া, যেখানে প্রতিটি সম্পাদনা সংরক্ষিত থাকে। আপনি যখন `git init` চালান, আপনার ফোল্ডারে একটি লুকানো ডিরেক্টরি `.git` তৈরি হয় — এটিই রিপোজিটরি। এর ভিতরে Git সমস্ত পরিবর্তনের ইতিহাস, মেটাডেটা এবং সেটিংস সংরক্ষণ করবে। এটা বোঝা গুরুত্বপূর্ণ: রিপোজিটরি যেকোনো সময় তৈরি করা যায়, এমনকি ফোল্ডারে আগে থেকে ফাইল থাকলেও। সেগুলি কেবল আনট্র্যাক করা অবস্থায় থাকবে, এবং আপনি পরে সেগুলি যোগ করতে পারবেন। এটি একটি ডায়েরি শুরু করার মতো — আপনি একটি খাতা কিনেছেন, কিন্তু এখনও ঠিক করেননি কোন কোন এন্ট্রি তাতে থাকবে।
.git-এর ভিতরে উঁকি দেওয়া
- objects: ফাইল এবং কমিটের সংকুচিত ডেটা
- refs: শাখা এবং ট্যাগের পয়েন্টার, যেমন বুকমার্ক
- HEAD: ইতিহাসে বর্তমান অবস্থান
- config: রিপোজিটরির সেটিংস
- hooks: স্বয়ংক্রিয়করণের জন্য স্ক্রিপ্ট
আসুন ডট গিট ফোল্ডারের ভিতরে উঁকি দেই। এখানেই Git-এর সব জাদু। objects ডিরেক্টরিতে আপনার সব ফাইল এবং কমিট সংকুচিত আকারে সংরক্ষিত থাকে। refs ফোল্ডারে শাখা এবং ট্যাগের পয়েন্টার থাকে — বইয়ের বুকমার্কের মতো। HEAD ফাইল দেখায় আপনি ইতিহাসে কোথায় আছেন। আর config-এ এই নির্দিষ্ট রিপোজিটরির সেটিংস সংরক্ষিত থাকে। এছাড়াও hooks আছে — এগুলি স্ক্রিপ্ট যা নির্দিষ্ট ইভেন্টে স্বয়ংক্রিয়ভাবে চলে। Git ইনিশিয়ালাইজ করার সময় এগুলি স্বয়ংক্রিয়ভাবে তৈরি করে। আপনাকে খুব কমই এখানে দেখতে হবে, কিন্তু কাঠামো বোঝা জটিল পরিস্থিতিতে সাহায্য করবে।
প্র্যাকটিস: রিপোজিটরি তৈরি করা
- প্রকল্পের ফোল্ডারে টার্মিনাল খুলুন
- `git init` চালান
- `ls -la` দিয়ে `.git` তৈরি হয়েছে কিনা পরীক্ষা করুন
- উইন্ডোজ: `dir /ah` ব্যবহার করুন
- প্রস্তুত! ফোল্ডারটি ভার্সন কন্ট্রোলের অধীনে
আপনার প্রকল্পের ফোল্ডারে টার্মিনাল খুলুন। `git init` কমান্ড টাইপ করে এন্টার চাপুন। আপনি খালি রিপোজিটরি ইনিশিয়ালাইজ করা হয়েছে বলে একটি বার্তা দেখতে পাবেন। সবকিছু সঠিকভাবে হয়েছে কিনা নিশ্চিত করতে `ls -la` কমান্ড চালান — আপনাকে লুকানো ফোল্ডার `.git` দেখতে হবে। আপনি যদি উইন্ডোজে কাজ করেন, `dir /ah` কমান্ড ব্যবহার করুন। অভিনন্দন, এখন আপনার ফোল্ডার ভার্সন কন্ট্রোলের অধীনে! আপনি যে সমস্ত পরিবর্তন করবেন, Git সেগুলি ট্র্যাক করতে পারবে। এখন যেহেতু রিপোজিটরি তৈরি হয়েছে, আসুন বুঝি কিভাবে Git ফাইলগুলিকে শ্রেণীবদ্ধ করে — এটি তার কাজ বোঝার চাবিকাঠি।
# প্রজেক্ট ফোল্ডার তৈরি করে তাতে যান
mkdir my_first_repo
cd my_first_repo
# রিপোজিটরি ইনিশিয়ালাইজ করুন
git init
# .git তৈরি হয়েছে কিনা পরীক্ষা করুন
ls -la | grep .git
บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก
ฉบับเต็มมีสไลด์เพิ่มอีก 20 สไลด์
วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก
เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิกเนื้อหาบทเรียน
- প্রথম রিপোজিটরি তৈরি করা
- .git-এর ভিতরে উঁকি দেওয়া
- প্র্যাকটিস: রিপোজিটরি তৈরি করা
- ফাইলের তিনটি অবস্থা: কেন প্রয়োজন
- ওয়ার্কিং ডিরেক্টরি: যেখানে আপনি তৈরি করেন
- ইনডেক্স: পরিবর্তনগুলি অর্থপূর্ণ অংশে সংগ্রহ করুন
- কমিট: ইতিহাস চিরতরে সংরক্ষণ করুন
- গিট ইনডেক্স: কমিটের জন্য মধ্যবর্তী অঞ্চল
- ইনডেক্সে নির্দিষ্ট ফাইল যোগ করা
- সমস্ত পরিবর্তিত ফাইল যোগ করা
- গিটে কমিট কী
- প্রথম কমিট তৈরি করা
- কিভাবে ভাল কমিট বার্তা লিখবেন
- মিশ্র পরিবর্তনের সমস্যা
- Git add -p এর ব্যবহার
- প্যাচ পড়ার নিয়ম
- কেন add ছাড়া commit কাজ করে না
- এক কাজ—এক কমিট
- এক বছর পরেও বোধগম্য কমিট বার্তা
- প্রথম রিপোজিটরি তৈরি করি
- সূচক: কোড এবং কমিটের মাঝখানে
- অর্থপূর্ণ কমিট তৈরি করি
- আপনার প্রথম কমিট: এরপর কী?
บทความเกี่ยวกับบทเรียนนี้
- git add และ git commit: วิธีบันทึกการเปลี่ยนแปลงให้ถูกต้อง
- คำสั่ง Git: ชีตสรุปพร้อมตัวอย่างสำหรับใช้ทุกวัน
- รีโพซิทอรี Git: สร้างด้วย git init และเชื่อม remote อย่างไร
- ไฟล์ .gitignore: วิธีไม่ให้ Git ติดตามไฟล์และนำไฟล์ที่เพิ่มแล้วออก
- Git และ GitHub: ต่างกันอย่างไร และเชื่อมโยงกันอย่างไร
บทเรียนทั้งหมดในคอร์สนี้
- গিটের ভূমিকা: শুরু থেকে আত্মবিশ্বাসী ডেভেলপার পর্যন্ত
- কেন আদৌ Git প্রয়োজন — এবং কেন এটি ছাড়া চাকরি পাওয়া যায় না
- ইনস্টল এবং কনফিগারেশন: প্রথম চালানোর জন্য Git প্রস্তুত করা
- প্রথম রিপোজিটরি: init, add, commit এবং ইনডেক্সের যাদু
- ইতিহাস পড়া: log, diff, show এবং অতীতে নেভিগেশন
- শাখা: আপনার কোডের সমান্তরাল বাস্তবতা
- ভুল বাতিল: restore, reset, revert — সঠিক ও বিপজ্জনক ব্যবহার
- গিটহাব ও দূরবর্তী রিপোজিটরি: আপনার কোড ক্লাউডে
- দলগত কাজ: ফর্ক, ফিচার ব্রাঞ্চ এবং পুল রিকোয়েস্ট
- মার্জ কনফ্লিক্ট: আতঙ্কিত না হয়ে বুঝুন এবং সমাধান করুন
- বাস্তব দলে গিট প্রক্রিয়া: কোন ওয়ার্কফ্লো বেছে নেবেন
- উন্নত টুল: রিবেস, স্ট্যাশ, চেরি-পিক এবং ট্যাগ
- চূড়ান্ত প্রকল্প: বাস্তব দলগত উন্নয়ন সিমুলেশন