আগের পর্বে আমরা Git install করেছি এবং প্রথম configuration (username, email) সেট করেছি। এখন আমাদের computer Git ব্যবহারের জন্য প্রস্তুত।
আজকের পর্বে আমরা হাতে-কলমে একটি project folder-এর ভেতরে
প্রথম Git repository তৈরি করব, এবং শিখব Git-এর সবচেয়ে
গুরুত্বপূর্ণ কিছু বেসিক কমান্ড — git init,
git status,
git add এবং
git commit।
Repository কী?
Git-এর ভাষায় Repository (সংক্ষেপে repo) হলো এমন একটি folder, যেখানে Git তোমার project-এর সব পরিবর্তনের history track করে। একটি folder-কে Git repository বানালে সেটি স্বয়ংক্রিয়ভাবে version control-এর আওতায় চলে আসে।
Repository তৈরি করা — git init
প্রথমে একটি নতুন project folder তৈরি করো এবং Terminal বা Git Bash দিয়ে সেই folder-এ প্রবেশ করো:
mkdir my-first-project cd my-first-project
এবার এই folder-টিকে Git repository বানাতে নিচের commandটি চালাও:
git init
এই command চালানোর পর তুমি এমন একটি message দেখতে পাবে:
Initialized empty Git repository in .../my-first-project/.git/
এর মানে হলো, Git এখন এই folder-এর ভেতরে একটি লুকানো
.git
নামের folder তৈরি করেছে, যেখানে project-এর সব history সংরক্ষিত হবে।
এই .git
folder-টি সাধারণত file explorer-এ hidden থাকে, তাই চিন্তার কিছু নেই।
তিনটি গুরুত্বপূর্ণ জায়গা: Working Directory, Staging Area ও Repository
Git বোঝার জন্য এই তিনটি concept খুব গুরুত্বপূর্ণ:
Working Directory → Staging Area → Repository
(তুমি এখানে (git add দিয়ে (git commit দিয়ে
কাজ করো) এখানে আনো) এখানে জমা হয়)
- Working Directory: তোমার project folder-এর বর্তমান file-গুলো, যেখানে তুমি সরাসরি কাজ করো।
- Staging Area: এমন একটি জায়গা, যেখানে তুমি ঠিক করো কোন পরিবর্তনগুলো পরবর্তী commit-এ যাবে।
- Repository: commit হওয়া পরিবর্তনগুলো এখানে স্থায়ীভাবে সংরক্ষিত থাকে।
বর্তমান অবস্থা দেখা — git status
এবার folder-এ একটি নতুন file তৈরি করো, যেমন
index.html।
এখন নিচের commandটি চালিয়ে দেখো Git কী বলছে:
git status
এই command তোমাকে জানাবে —
- কোন file-গুলো নতুন যোগ হয়েছে (Untracked)
- কোন file-গুলো পরিবর্তিত হয়েছে (Modified)
- কোন file-গুলো staging area-তে আছে (Staged)
নতুন file তৈরি করার পর git status
চালালে সেটিকে Untracked files হিসেবে দেখাবে, কারণ Git এখনো
এই file track করা শুরু করেনি।
পরিবর্তন Stage করা — git add
কোনো file-কে পরবর্তী commit-এর জন্য প্রস্তুত করতে হলে সেটিকে staging area-তে আনতে হয়। একটি নির্দিষ্ট file stage করতে:
git add index.html
আর একসাথে সব পরিবর্তিত/নতুন file stage করতে চাইলে:
git add .
এখানে .
মানে হলো বর্তমান folder-এর সব পরিবর্তন যোগ করো।
Stage করার পর আবার git status
চালালে দেখবে file-টি এখন Changes to be committed
অংশে দেখাচ্ছে — অর্থাৎ এটি commit-এর জন্য প্রস্তুত।
পরিবর্তন সংরক্ষণ করা — git commit
Staging area-তে থাকা পরিবর্তনগুলো স্থায়ীভাবে repository-তে সংরক্ষণ করতে
ব্যবহার করা হয় git commit:
git commit -m "Add index.html file"
এখানে -m
flag দিয়ে আমরা commit-এর সাথে একটি message যুক্ত করি,
যেটি বলে দেয় এই commit-এ কী পরিবর্তন করা হয়েছে।
Commit সম্পন্ন হলে Git তোমাকে একটি সংক্ষিপ্ত summary দেখাবে — কতগুলো file পরিবর্তিত হয়েছে এবং কতগুলো line যোগ/বাদ হয়েছে।
সম্পূর্ণ Workflow একসাথে
উপরের ধাপগুলো একসাথে দেখলে দাঁড়ায়:
git init → repository তৈরি git status → বর্তমান অবস্থা দেখা git add . → পরিবর্তন stage করা git commit -m "message" → পরিবর্তন সংরক্ষণ করা
এই চারটি command মিলেই তৈরি হয় Git-এর সবচেয়ে গুরুত্বপূর্ণ ও সবচেয়ে বেশি ব্যবহৃত workflow, যেটা তুমি প্রতিদিনের কাজে বারবার ব্যবহার করবে।
ভালো Commit Message লেখার কিছু অভ্যাস
Commit message শুধু নিজের জন্য নয়, ভবিষ্যতে অন্য কেউ (বা তুমি নিজেই) history দেখে বুঝতে পারবে কী পরিবর্তন হয়েছে। তাই কিছু ভালো অভ্যাস মেনে চলা উচিত:
- Message ছোট, স্পষ্ট এবং নির্দিষ্ট রাখো (৫০ অক্ষরের মধ্যে হলে ভালো)
- Present tense ব্যবহার করো, যেমন "Fix bug" (not "Fixed bug")
- একটি commit-এ একটি নির্দিষ্ট কাজ/পরিবর্তন রাখো
- অস্পষ্ট message এড়িয়ে চলো, যেমন শুধু "update" বা "fix"
ভালো ও খারাপ message-এর একটি তুলনা দেখো:
❌ update ❌ fix ❌ changes ✅ Add navbar to homepage ✅ Fix login button alignment ✅ Update README with install steps
Practice Task
এখন নিজে হাতে নিচের কাজগুলো করে দেখো:
- একটি নতুন project folder তৈরি করে
git initচালাও। - Folder-এ একটি
index.htmlfile তৈরি করো। git statusচালিয়ে file-টির অবস্থা দেখো।git add .দিয়ে file-টি stage করো।- একটি স্পষ্ট commit message দিয়ে
git commit -m "..."চালাও। - আরেকটি file পরিবর্তন করে পুরো process আবার অনুশীলন করো।
আজ আমরা শিখলাম কীভাবে একটি repository তৈরি করতে হয় এবং পরিবর্তনগুলো
stage করে commit করতে হয়। পরের পর্বে আমরা শিখব কীভাবে
git log
দিয়ে পুরো history দেখা যায়, git diff
দিয়ে পরিবর্তন তুলনা করা যায়, এবং ভুল করলে কীভাবে আগের অবস্থায় ফিরে যাওয়া যায়।