এতদিন আমরা শুধু নিজের computer-এ (local-এ) Git ব্যবহার করেছি। এখন সময় এসেছে আমাদের project-টিকে internet-এ নিয়ে যাওয়ার, যাতে যেকোনো জায়গা থেকে access করা যায় এবং অন্যদের সাথে share করা যায়। এই কাজেই আমাদের সাহায্য করে GitHub।
GitHub Account তৈরি করা
যদি এখনো GitHub account না থাকে, তাহলে github.com-এ গিয়ে বিনামূল্যে একটি account তৈরি করে নাও। শুধু email, username এবং password দিয়ে সহজেই sign up করা যায়।
GitHub-এ নতুন Repository তৈরি করা
Account তৈরি হয়ে গেলে GitHub-এর উপরের ডানদিকে
+
আইকনে ক্লিক করে New repository option বেছে নাও। এরপর—
- Repository-এর একটি নাম দাও (যেমন: my-first-project)
- ইচ্ছা করলে একটি সংক্ষিপ্ত বিবরণ (description) লিখতে পারো
- Repository Public নাকি Private রাখবে সেটা বেছে নাও
- যেহেতু আমরা আগে থেকেই local repository তৈরি করেছি, তাই README/.gitignore যোগ না করাই ভালো
সবশেষে Create repository বাটনে ক্লিক করলেই একটি খালি GitHub repository তৈরি হয়ে যাবে, এবং GitHub তোমাকে এটি ব্যবহারের জন্য কিছু command দেখাবে।
Local ও GitHub Repository-কে যুক্ত করা — git remote add
এখন আমাদের local repository-কে GitHub-এর repository-এর সাথে যুক্ত করতে হবে। এজন্য GitHub থেকে repository-এর URL কপি করে নাও (HTTPS অথবা SSH), তারপর project folder-এ গিয়ে চালাও:
git remote add origin https://github.com/username/my-first-project.git
এখানে origin
হলো একটি সাধারণ নাম, যা দিয়ে আমরা এই remote (GitHub) repository-টিকে
চিহ্নিত করি। Remote সঠিকভাবে যুক্ত হয়েছে কিনা যাচাই করতে:
git remote -v
প্রথমবার Push করা — git push
Remote যুক্ত হয়ে গেলে, এখন local repository-এর commit-গুলো GitHub-এ
পাঠানোর সময়। এজন্য ব্যবহার করা হয় git push:
git push -u origin main
এখানে—
-
origin— যে remote-এ push করছি -
main— যে branch push করছি (default branch-এর নাম আগে অনেক সময় master ছিল, এখন GitHub-এ সাধারণত main ব্যবহার করা হয়) -
-u— এই flag দিলে local branch-টি remote branch-এর সাথে সংযুক্ত (track) হয়ে যায়, ফলে ভবিষ্যতে শুধুgit pushলিখলেই চলবে
Push সম্পন্ন হলে GitHub-এ repository page reload করলে দেখতে পাবে তোমার সব file এবং commit history সেখানে চলে এসেছে।
GitHub থেকে পরিবর্তন আনা — git pull
যদি GitHub-এ (অন্য কোনো device থেকে, বা সরাসরি website থেকে) কোনো পরিবর্তন হয়ে থাকে, সেটা local repository-তে আনতে ব্যবহার করা হয়:
git pull origin main
সহজভাবে বললে — push মানে local থেকে GitHub-এ পাঠানো, আর pull মানে GitHub থেকে local-এ আনা।
Local Repository ──── push ────> GitHub Local Repository <──── pull ──── GitHub
Authentication: Password আর কাজ করে না
আগে GitHub-এ push করার সময় সরাসরি username আর password দিয়ে authentication করা যেত। কিন্তু এখন GitHub security-এর কারণে সরাসরি password ব্যবহার বন্ধ করে দিয়েছে। এখন authentication-এর জন্য দুইটি জনপ্রিয় পদ্ধতি ব্যবহার করা হয় — Personal Access Token (PAT) এবং SSH Key।
পদ্ধতি ১: Personal Access Token (PAT)
Personal Access Token হলো password-এর মতো একটি বিশেষ code, যেটা তুমি GitHub থেকে generate করে HTTPS দিয়ে push/pull করার সময় password-এর জায়গায় ব্যবহার করবে।
Token তৈরি করতে GitHub-এ যাও: Settings → Developer settings → Personal access tokens। এরপর নতুন token তৈরি করে প্রয়োজনীয় permission (যেমন repo access) দিয়ে সেটি generate করো।
গুরুত্বপূর্ণ: Token একবারই দেখানো হয়, তাই generate করার সাথে সাথে এটি নিরাপদ জায়গায় কপি করে রাখো।
এরপর যখন git push
করবে, তখন username দেওয়ার পর password-এর জায়গায় এই token পেস্ট করলেই
কাজ হয়ে যাবে।
পদ্ধতি ২: SSH Key
SSH Key একটি বেশি নিরাপদ এবং বারবার login করার ঝামেলা এড়ানোর পদ্ধতি। প্রথমে একটি SSH key generate করতে হয়:
ssh-keygen -t ed25519 -C "you@example.com"
Key generate হওয়ার পর public key কপি করতে হয়:
cat ~/.ssh/id_ed25519.pub
এই output-টি কপি করে GitHub-এ যাও: Settings → SSH and GPG keys → New SSH key, এবং সেখানে paste করে save করো।
এরপর repository-এর remote URL-টি HTTPS-এর বদলে SSH format-এ সেট করতে হবে:
git remote set-url origin git@github.com:username/my-first-project.git
এরপর থেকে push/pull করার সময় আর প্রতিবার password বা token দিতে হবে না।
HTTPS নাকি SSH — কোনটা ব্যবহার করবে?
| HTTPS + Token | SSH Key |
|---|---|
| Setup করা সহজ | প্রথমে একটু বেশি setup লাগে |
| Token মেয়াদ শেষ হতে পারে | একবার সেট করলে দীর্ঘদিন কাজ করে |
| নতুনদের জন্য সহজ | দৈনন্দিন ব্যবহারে সুবিধাজনক |
আজকের কমান্ডগুলো এক নজরে
git remote add origin URL → local ও GitHub repo যুক্ত করা git remote -v → remote যাচাই করা git push -u origin main → প্রথমবার push করা git push → পরবর্তী push (short form) git pull origin main → GitHub থেকে পরিবর্তন আনা
Practice Task
এখন নিজে হাতে নিচের কাজগুলো করে দেখো:
- GitHub-এ একটি account তৈরি করো (যদি না থাকে)।
- একটি নতুন repository তৈরি করো।
- আগের পর্বের local project-টিকে
git remote addদিয়ে GitHub-এর সাথে যুক্ত করো। - Personal Access Token অথবা SSH key সেটআপ করো।
git push -u origin mainদিয়ে project-টি GitHub-এ push করো।- GitHub-এ গিয়ে দেখো তোমার file ও commit history ঠিকভাবে দেখাচ্ছে কিনা।
আজ আমরা শিখলাম কীভাবে GitHub-এ repository তৈরি করতে হয়, local repository-কে remote-এর সাথে যুক্ত করতে হয়, এবং push/pull করতে হয়। পরের পর্বে আমরা শিখব Git-এর অন্যতম শক্তিশালী feature — Branch — যা দিয়ে একাধিক feature বা পরীক্ষামূলক কাজ একসাথে আলাদাভাবে চালানো যায়।