GitHub এর হাতেখড়ি (পর্ব ৫) – GitHub পরিচিতি ও প্রথম Push

Git ও GitHub-এর হাতেখড়ি — পর্ব ৫: GitHub পরিচিতি ও প্রথম Push

এতদিন আমরা শুধু নিজের 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

এখন নিজে হাতে নিচের কাজগুলো করে দেখো:

  1. GitHub-এ একটি account তৈরি করো (যদি না থাকে)।
  2. একটি নতুন repository তৈরি করো।
  3. আগের পর্বের local project-টিকে git remote add দিয়ে GitHub-এর সাথে যুক্ত করো।
  4. Personal Access Token অথবা SSH key সেটআপ করো।
  5. git push -u origin main দিয়ে project-টি GitHub-এ push করো।
  6. GitHub-এ গিয়ে দেখো তোমার file ও commit history ঠিকভাবে দেখাচ্ছে কিনা।

আজ আমরা শিখলাম কীভাবে GitHub-এ repository তৈরি করতে হয়, local repository-কে remote-এর সাথে যুক্ত করতে হয়, এবং push/pull করতে হয়। পরের পর্বে আমরা শিখব Git-এর অন্যতম শক্তিশালী feature — Branch — যা দিয়ে একাধিক feature বা পরীক্ষামূলক কাজ একসাথে আলাদাভাবে চালানো যায়।

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন

যোগাযোগ ফর্ম