তুমি যদি HTML, CSS, JavaScript বা অন্য কোনো programming project নিয়ে কাজ করো, তাহলে একটা সময় পর তোমার project-এর পুরনো version, নতুন পরিবর্তন এবং ভুল করে মুছে ফেলা code সামলানো কঠিন হয়ে যেতে পারে। এখানেই কাজে আসে Git।
Git হলো একটি Version Control System (VCS)। এটি তোমার project-এর বিভিন্ন পরিবর্তনের history সংরক্ষণ করে, ফলে কখন কী পরিবর্তন করেছ, কোন version ভালো ছিল কিংবা কোনো ভুলের পর আগের অবস্থায় ফিরতে হবে—এসব অনেক সহজে manage করা যায়।
আর GitHub হলো Git repository রাখার এবং অন্যদের সঙ্গে project নিয়ে কাজ করার একটি জনপ্রিয় online platform। অর্থাৎ Git এবং GitHub একই জিনিস নয়। এই পার্থক্যটাই আজকের পর্বে প্রথমে পরিষ্কার করে নেব।
Version Control কী?
ধরো তুমি একটি website তৈরি করছ। প্রথম দিনে project-টি ছিল এমন:
index.html style.css script.js
কয়েকদিন পর তুমি অনেক পরিবর্তন করলে। কিন্তু হঠাৎ করে নতুন code-এর কারণে website-টি নষ্ট হয়ে গেল। এখন যদি তুমি আগের ভালো অবস্থায় ফিরতে চাও, তখন কী করবে?
অনেকে এই সমস্যার সমাধান হিসেবে এমন file তৈরি করে:
index-final.html index-final-2.html index-final-new.html index-final-new-2.html index-final-last.html
😅 এভাবে project manage করা খুব দ্রুতই messy হয়ে যাবে। Version Control এই সমস্যাটাকেই সুন্দরভাবে সমাধান করে।
Version Control system project-এর পরিবর্তনগুলো track করে রাখে। ফলে তুমি প্রয়োজনে পুরনো version দেখতে, পরিবর্তনের পার্থক্য বুঝতে এবং আগের অবস্থায় ফিরে যেতে পারো।
Git কী?
Git হলো একটি distributed version control system। সহজ ভাষায়, Git তোমার project-এর file-এর পরিবর্তনগুলো track এবং manage করতে সাহায্য করে।
Git ব্যবহার করলে project-এর বিভিন্ন গুরুত্বপূর্ণ অবস্থাকে commit হিসেবে সংরক্ষণ করা যায়।
উদাহরণ:
Project শুরু
↓
প্রথম কাজ শেষ → Commit
↓
নতুন feature → Commit
↓
Bug fix → Commit
↓
আরও পরিবর্তন → Commit
ফলে project-এর development history ধাপে ধাপে সংরক্ষিত থাকে।
GitHub কী?
GitHub হলো এমন একটি online platform যেখানে Git repository host করা যায় এবং অন্য developer-এর সঙ্গে project নিয়ে collaboration করা যায়।
Git তোমার computer-এ project-এর version history manage করতে পারে, আর GitHub সেই repository online-এ রাখার সুযোগ দেয়।
Git বনাম GitHub
| Git | GitHub |
|---|---|
| Version Control System | Git repository hosting ও collaboration platform |
| Computer-এ locally কাজ করতে পারে | Online-এ repository রাখা যায় |
| Commit, branch, merge ইত্যাদি manage করে | Collaboration, Pull Request, Issues ইত্যাদি সুবিধা দেয় |
| Internet ছাড়াও basic Git workflow চালানো যায় | Online service হিসেবে কাজ করে |
তাই মনে রাখার সহজ উপায়:
Git = Version Control GitHub = Git Repository Hosting + Collaboration
Git install করার আগে
Git Windows, macOS এবং Linux—সবগুলো প্রধান operating system-এই ব্যবহার করা যায়। এই সিরিজে আমরা command line ভিত্তিক workflow ব্যবহার করব।
Windows ব্যবহার করলে Git-এর সঙ্গে Git Bash ব্যবহার করতে পারো। এটি Git command চালানোর জন্য একটি সুবিধাজনক terminal environment।
Windows-এ Git Install
প্রথমে Git-এর official website থেকে installer download করে সাধারণভাবে installation সম্পন্ন করো। বেশিরভাগ ক্ষেত্রে default options রেখেই installation করা যায়।
Installation শেষ হওয়ার পর Git Bash অথবা Terminal খুলে নিচের commandটি চালাও:
git --version
Git সঠিকভাবে install হলে Git-এর version দেখতে পাবে।
git version 2.x.x
এখানে version number তোমার installed Git version অনুযায়ী আলাদা হতে পারে।
Git-এর প্রথম Configuration
Git install করার পর আমাদের পরিচয় হিসেবে একটি username এবং email address configure করতে হবে।
প্রথমে নিজের নাম সেট করো:
git config --global user.name "Your Name"
এখানে Your Name
এর জায়গায় নিজের নাম লিখবে।
এবার email সেট করো:
git config --global user.email "you@example.com"
এখানে নিজের email address ব্যবহার করবে।
Configuration ঠিক হয়েছে কিনা দেখবে কীভাবে?
Git-এ বর্তমানে সেট করা username এবং email দেখতে:
git config --global user.name git config --global user.email
অথবা সব configuration একসাথে দেখতে পারো:
git config --global --list
Git-এর Global Configuration কী?
আমরা এখানে --global
ব্যবহার করেছি। এর অর্থ হলো এই configuration তোমার user account-এর জন্য
সাধারণভাবে প্রযোজ্য হবে।
অর্থাৎ প্রতিটি repository-তে আলাদাভাবে username ও email সেট করার প্রয়োজন হবে না।
Git-এর পুরো যাত্রাটা এক নজরে
এই সিরিজে আমরা ধীরে ধীরে নিচের workflow-এর দিকে এগোব:
Project ↓ Git Repository ↓ Changes ↓ Stage ↓ Commit ↓ Branch ↓ Merge ↓ GitHub ↓ Push / Pull ↓ Collaboration
আজ আমরা শুধু এই journey-এর ভিত্তিটা তৈরি করলাম। পরের পর্বে আমরা একটি real project-এর ভেতরে প্রথম Git repository তৈরি করব।
Practice Task
এখন নিজে হাতে নিচের কাজগুলো করে দেখো:
- Git install করো।
git --versionদিয়ে installation যাচাই করো।- নিজের Git username সেট করো।
- নিজের email সেট করো।
git config --global --listদিয়ে configuration দেখে নাও।
এখন তোমার computer Git-এর জন্য প্রস্তুত। পরের পর্বে আমরা আর শুধু theory নিয়ে
থাকব না—একটি project folder-এর ভেতরে প্রথম Git repository তৈরি
করব এবং শিখব git init,
git status,
git add
এবং git commit।