✅ git commit কমান্ড
git commit হলো Git-এর সবচেয়ে গুরুত্বপূর্ণ কমান্ডগুলোর একটি। এটি মূলত স্টেজ করা পরিবর্তনগুলোকে (staged changes) রিপোজিটরির ইতিহাসে স্থায়ীভাবে সংরক্ষণ করে।
🧠 কী হয় git commit করলে?
- স্টেজ করা ফাইলগুলোর একটি নতুন snapshot তৈরি হয়
- সেই snapshot-এ একটি ইউনিক SHA-1 hash আইডি যুক্ত হয়
- Git রিপোজিটরির ইতিহাসে এটি একটি কমিট হিসেবে যুক্ত হয়
✅ সাধারণ ব্যবহার
1. একটি সাধারণ কমিট
git commit -m "Initial commit"git commit -m "Initial commit"🎯 -m ফ্ল্যাগ ব্যবহার করে একটি ছোট ম্যাসেজ দিয়ে কমিট করা হয়।
🗃️ git commit করার আগে করণীয়
git add file1.txt
git commit -m "Added file1.txt"git add file1.txt
git commit -m "Added file1.txt"✨ মনে রাখবেন: শুধুমাত্র
git addদিয়ে স্টেজ করা ফাইলগুলোরই কমিট হয়।
✍️ ভালো কমিট ম্যাসেজ লেখার নিয়ম
কমিট ম্যাসেজ লেখা:
git commit -m "type: সংক্ষেপে কী করা হয়েছে
বিস্তারিত বর্ণনা (ঐচ্ছিক)"git commit -m "type: সংক্ষেপে কী করা হয়েছে
বিস্তারিত বর্ণনা (ঐচ্ছিক)"উদাহরণ:
git commit -m "feat: user registration added
User can now register using email and password. JWT token also implemented."git commit -m "feat: user registration added
User can now register using email and password. JWT token also implemented."🎯 type অংশে আপনি যেমন লিখতে পারেন:
feat: নতুন ফিচারfix: বাগ ফিক্সrefactor: কোড রিফ্যাক্টরdocs: ডকুমেন্টেশনstyle: ফরম্যাটিং সংশোধনtest: টেস্ট যুক্ত করা
📝 ইন্টার্যাক্টিভ কমিট লিখা (পছন্দের editor এ)
git commitgit commit🎯 এভাবে দিলে Git আপনার ডিফল্ট editor (যেমন vim, nano, বা VS Code) খুলবে, যেখানে আপনি বিস্তারিত ম্যাসেজ লিখতে পারবেন।
🔁 শুধু স্টেজ না করে commit + add
git commit -am "Quick update on config files"git commit -am "Quick update on config files"🎯 শুধুমাত্র আগে থেকে ট্র্যাক করা ফাইল পরিবর্তন করলে -am ফ্ল্যাগ কাজ করে। নতুন ফাইলের জন্য git add দরকার।
🧪 কিছু বাস্তব উদাহরণ
১. নতুন ফিচার কমিট:
git add register.php
git commit -m "feat: implement user registration"git add register.php
git commit -m "feat: implement user registration"🎯 এখানে register.php ফাইলটি নতুন ফিচার যুক্ত করেছে।
২. বাগ ফিক্স কমিট:
git add validation.js
git commit -m "fix: email validation not working"git add validation.js
git commit -m "fix: email validation not working"🎯 এখানে validation.js ফাইলটি একটি বাগ ফিক্স করেছে।
৩. ডকুমেন্টেশন সংশোধন:
git add README.md
git commit -m "docs: update installation guide"git add README.md
git commit -m "docs: update installation guide"🎯 এখানে README.md ফাইলটি ডকুমেন্টেশন সংশোধন করেছে।
৪. একাধিক ফাইল একসাথে:
git add .
git commit -m "style: fix code formatting in utils and helpers"git add .
git commit -m "style: fix code formatting in utils and helpers"🎯 এখানে . দিয়ে সব পরিবর্তিত ফাইলগুলোকে একসাথে কমিট করা হয়েছে।
৫. শুধুমাত্র একটি লাইন বদলে কমিট:
git add -p
# তারপর ইনট্রাকটিভলি কোন পরিবর্তন রাখতে চান সেটা নির্বাচন করুন
git commit -m "fix: minor typo in header"git add -p
# তারপর ইনট্রাকটিভলি কোন পরিবর্তন রাখতে চান সেটা নির্বাচন করুন
git commit -m "fix: minor typo in header"🎯 -p ফ্ল্যাগ দিয়ে আপনি ইন্টার্যাকটিভলি পরিবর্তনগুলো নির্বাচন করতে পারবেন।
🔙 শেষ কমিট মেসেজ এডিট করা
git commit --amendgit commit --amend🎯 এটি আগের কমিটটি রিপ্লেস করবে। আপনি ম্যাসেজ পরিবর্তন বা নতুন ফাইল যোগ করতে পারেন।
⛔ কমিট বাতিল করা (reset)
শেষ কমিট বাতিল করে ফাইলগুলো unstaged করা:
git reset --soft HEAD~1git reset --soft HEAD~1🎯 এটি শেষ কমিটটি বাতিল করবে কিন্তু ফাইলগুলোকে স্টেজড অবস্থায় রাখবে।
শেষ কমিট ও স্টেজিংও মুছে ফেলা:
git reset --mixed HEAD~1git reset --mixed HEAD~1🎯 এটি শেষ কমিটটি বাতিল করবে এবং ফাইলগুলোকে unstaged অবস্থায় রাখবে।
🔍 লগ দেখা (কমিট ইতিহাস)
git loggit log🎯 সব কমিট ও তাদের ম্যাসেজ দেখতে পারবেন।
🧾 ভালো কমিট ম্যাসেজ লিখার নিয়ম
- প্রথম লাইন 50 ক্যারেক্টারের মধ্যে রাখুন
- সংক্ষেপে কী করা হয়েছে লিখুন
- প্রয়োজনে দ্বিতীয় লাইনে বিস্তারিত ব্যাখ্যা দিন
- present tense ব্যবহার করুন (e.g. "Add", "Fix", "Update")
🛠️ git commit সংক্ষেপে
| কমান্ড | ব্যাখ্যা |
|---|---|
git commit -m "message" | কমিট ম্যাসেজ সহ কমিট |
git commit -am "message" | আগের ট্র্যাক হওয়া ফাইলগুলোর পরিবর্তন add + commit |
git commit | ডিফল্ট editor এ ম্যাসেজ লেখার সুযোগ |
git commit --amend | শেষ কমিট এডিট করা |
git log | কমিট ইতিহাস দেখা |
🎯 শেষ কথা
git commit শুধুমাত্র কোড সেভ করার একটা উপায় নয়, এটি আপনার প্রকল্পের ইতিহাস তৈরির অন্যতম হাতিয়ার। ভালোভাবে কমিট করার অভ্যাস আপনাকে এবং আপনার টিমের সবাইকে সহজে কাজ করতে সাহায্য করবে।