Skip to content

git commit কমান্ড

git commit হলো Git-এর সবচেয়ে গুরুত্বপূর্ণ কমান্ডগুলোর একটি। এটি মূলত স্টেজ করা পরিবর্তনগুলোকে (staged changes) রিপোজিটরির ইতিহাসে স্থায়ীভাবে সংরক্ষণ করে।

🧠 কী হয় git commit করলে?

  • স্টেজ করা ফাইলগুলোর একটি নতুন snapshot তৈরি হয়
  • সেই snapshot-এ একটি ইউনিক SHA-1 hash আইডি যুক্ত হয়
  • Git রিপোজিটরির ইতিহাসে এটি একটি কমিট হিসেবে যুক্ত হয়

✅ সাধারণ ব্যবহার

1. একটি সাধারণ কমিট

bash
git commit -m "Initial commit"
git commit -m "Initial commit"

🎯 -m ফ্ল্যাগ ব্যবহার করে একটি ছোট ম্যাসেজ দিয়ে কমিট করা হয়।

🗃️ git commit করার আগে করণীয়

bash
git add file1.txt
git commit -m "Added file1.txt"
git add file1.txt
git commit -m "Added file1.txt"

✨ মনে রাখবেন: শুধুমাত্র git add দিয়ে স্টেজ করা ফাইলগুলোরই কমিট হয়।

✍️ ভালো কমিট ম্যাসেজ লেখার নিয়ম

কমিট ম্যাসেজ লেখা:

bash
git commit -m "type: সংক্ষেপে কী করা হয়েছে

বিস্তারিত বর্ণনা (ঐচ্ছিক)"
git commit -m "type: সংক্ষেপে কী করা হয়েছে

বিস্তারিত বর্ণনা (ঐচ্ছিক)"

উদাহরণ:

bash
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 এ)

bash
git commit
git commit

🎯 এভাবে দিলে Git আপনার ডিফল্ট editor (যেমন vim, nano, বা VS Code) খুলবে, যেখানে আপনি বিস্তারিত ম্যাসেজ লিখতে পারবেন।

🔁 শুধু স্টেজ না করে commit + add

bash
git commit -am "Quick update on config files"
git commit -am "Quick update on config files"

🎯 শুধুমাত্র আগে থেকে ট্র্যাক করা ফাইল পরিবর্তন করলে -am ফ্ল্যাগ কাজ করে। নতুন ফাইলের জন্য git add দরকার।

🧪 কিছু বাস্তব উদাহরণ

১. নতুন ফিচার কমিট:

bash
git add register.php
git commit -m "feat: implement user registration"
git add register.php
git commit -m "feat: implement user registration"

🎯 এখানে register.php ফাইলটি নতুন ফিচার যুক্ত করেছে।

২. বাগ ফিক্স কমিট:

bash
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 ফাইলটি একটি বাগ ফিক্স করেছে।

৩. ডকুমেন্টেশন সংশোধন:

bash
git add README.md
git commit -m "docs: update installation guide"
git add README.md
git commit -m "docs: update installation guide"

🎯 এখানে README.md ফাইলটি ডকুমেন্টেশন সংশোধন করেছে।

৪. একাধিক ফাইল একসাথে:

bash
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"

🎯 এখানে . দিয়ে সব পরিবর্তিত ফাইলগুলোকে একসাথে কমিট করা হয়েছে।

৫. শুধুমাত্র একটি লাইন বদলে কমিট:

bash
git add -p
# তারপর ইনট্রাকটিভলি কোন পরিবর্তন রাখতে চান সেটা নির্বাচন করুন
git commit -m "fix: minor typo in header"
git add -p
# তারপর ইনট্রাকটিভলি কোন পরিবর্তন রাখতে চান সেটা নির্বাচন করুন
git commit -m "fix: minor typo in header"

🎯 -p ফ্ল্যাগ দিয়ে আপনি ইন্টার‍্যাকটিভলি পরিবর্তনগুলো নির্বাচন করতে পারবেন।

🔙 শেষ কমিট মেসেজ এডিট করা

bash
git commit --amend
git commit --amend

🎯 এটি আগের কমিটটি রিপ্লেস করবে। আপনি ম্যাসেজ পরিবর্তন বা নতুন ফাইল যোগ করতে পারেন।

⛔ কমিট বাতিল করা (reset)

শেষ কমিট বাতিল করে ফাইলগুলো unstaged করা:

bash
git reset --soft HEAD~1
git reset --soft HEAD~1

🎯 এটি শেষ কমিটটি বাতিল করবে কিন্তু ফাইলগুলোকে স্টেজড অবস্থায় রাখবে।

শেষ কমিট ও স্টেজিংও মুছে ফেলা:

bash
git reset --mixed HEAD~1
git reset --mixed HEAD~1

🎯 এটি শেষ কমিটটি বাতিল করবে এবং ফাইলগুলোকে unstaged অবস্থায় রাখবে।

🔍 লগ দেখা (কমিট ইতিহাস)

bash
git log
git 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 শুধুমাত্র কোড সেভ করার একটা উপায় নয়, এটি আপনার প্রকল্পের ইতিহাস তৈরির অন্যতম হাতিয়ার। ভালোভাবে কমিট করার অভ্যাস আপনাকে এবং আপনার টিমের সবাইকে সহজে কাজ করতে সাহায্য করবে।

Released under the MIT License.