আগের পর্বে আমরা My Portfolio Website project তৈরি করেছি এবং প্রথম commit করেছি — কিন্তু সব এখনও আপনার computer-এ local-এ। আজ আমরা সেটা online নিয়ে যাব — GitHub-এ upload করব।
এই পর্ব শেষে আপনার project-এর একটি live URL থাকবে — যেটা সারা পৃথিবী দেখতে পারবে। Employer-দের আপনি এই link share করতে পারবেন। এটাই আপনার public coding portfolio-র প্রথম step।
🎯 এই পর্বের পর আপনি যা পারবেন
- GitHub-এ একটি account তৈরি করতে পারবেন
- একটি নতুন repository তৈরি করতে পারবেন
- Local project-কে GitHub-এর সাথে connect করতে পারবেন
- Personal Access Token (PAT) তৈরি ও use করতে পারবেন
- আপনার project online push করতে পারবেন
- GitHub-এর web interface-এ navigate করতে পারবেন
📂 Repository কী?
Repository (সংক্ষেপে repo) হলো GitHub-এর একটি project folder। আপনার computer-এ যেমন একটি my-portfolio-website folder আছে — GitHub-এ ঠিক সেরকম একটি repository থাকবে।
Local Repository vs Remote Repository
- Local Repository: আপনার computer-এ
my-portfolio-websitefolder (যেটা আমরাgit initদিয়ে বানিয়েছি) - Remote Repository: GitHub-এর server-এ একটি copy — যেটা সবাই access করতে পারে
আমাদের কাজ: এই দুটিকে connect করা, তারপর local-এর সব history remote-এ push করা।
🌐 Public vs Private Repository — কোনটা বেছে নেবেন?
🌍 Public Repository
সারা পৃথিবী আপনার code দেখতে পারে।
- ✅ 100% Free — unlimited
- ✅ Portfolio হিসেবে use করা যায়
- ✅ Recruiter-রা দেখতে পারে
- ✅ Search engine index করে
- ⚠️ Sensitive তথ্য (password, API key) এড়িয়ে চলুন
🔒 Private Repository
শুধু আপনি (ও invited collaborator) দেখতে পারে।
- ✅ Free (unlimited collaborators-সহ since 2020)
- ✅ Business / client project
- ✅ Sensitive কাজের জন্য
- ❌ Portfolio হিসেবে use করা কঠিন
- ⚠️ GitHub Actions-এ limit আছে
💡 Beginner-দের জন্য recommendation
Public দিয়েই শুরু করুন। আপনার portfolio website, learning project, tutorial follow করা code — সব public। Employer-রা public profile দেখেই আপনাকে judge করবে। Private তখনই use করুন যখন code-এ কোনো sensitive তথ্য থাকবে।📋 README.md কী?
README.md হলো একটি text file যেটি repository-এর first impression তৈরি করে। যেকেউ আপনার GitHub repo-তে আসলে, এই file-এর content প্রথম দেখবে।
.md= Markdown — একটি simple formatting language- Markdown syntax:
#heading,**bold**,- list, ইত্যাদি
একটি basic README কেমন দেখায়?
README নিয়ে details এই series-এর শেষে template-সহ আসবে। আজকের জন্য — একটি simple README আমরা তৈরি করব।
🚀 Step-by-Step: GitHub Account তৈরি করুন
যদি আগেই account না থাকে, ২ মিনিটে তৈরি করুন:
Email ও Password দিন
- Valid email দিন — verify হবে
- Strong password — minimum 15 character (recommended) বা 8+ char with special
Username Choose করুন (গুরুত্বপূর্ণ!)
Username = আপনার GitHub URL: github.com/your-username
Professional username use করুন। উদাহরণ:
- ✅
muhammad-rahman,rahmuhammad,mrahman - ❌
xxXcoolboy99Xxx,random12345
Employer এটা দেখবে — তাই serious নাম দিন।
Email Verify করুন
GitHub আপনার email-এ একটি code পাঠাবে। সেটা enter করুন।
Free Plan Select করুন
GitHub Free plan beginner-দের জন্য যথেষ্ট। "Continue for free" click করুন।
Account তৈরি! 🎉 এখন GitHub-এ login state-এ আছেন।
🆕 Step-by-Step: প্রথম Repository তৈরি করুন
"+" Icon-এ click করুন
GitHub-এর top-right corner-এ একটি "+" icon দেখবেন। সেখানে click → "New repository" select করুন।
Repository Name দিন
Type করুন: my-portfolio-website
(আপনার local folder-এর সাথে এক নাম দেওয়া best practice)
Description (Optional)
Type করুন: My personal portfolio website built with HTML & CSS
Public Select করুন
"Public" radio button selected রাখুন (default)।
⚠️ এই Boxes UNCHECKED রাখুন
নিচের তিনটি option-এ checkbox tick করবেন না:
- ❌ Add a README file
- ❌ Add .gitignore
- ❌ Choose a license
কারণ আমাদের local-এ আগে থেকেই project আছে — GitHub নতুন কিছু create করুক চাই না।
"Create repository" Click করুন
একটি page খুলবে যেখানে কিছু command দেখাবে। এই commands গুলো আমরা পরের section-এ use করব।
🔗 Local এবং Remote Repository Connect করা
এখন আসল মজা। Terminal খুলুন এবং আপনার local project folder-এ যান:
Command 1: git remote add origin
Local Git-কে GitHub repository-র URL জানিয়ে দিন:
your-username-এর জায়গায় আপনার আসল GitHub username দিন।
এই command কী করে?
git remote— Remote repository সম্পর্কিত commandadd— নতুন remote add করতেorigin— Remote-এর "nickname" (convention অনুযায়ী main remote-কেoriginবলা হয়)https://github.com/...— GitHub repository-র URL
Verify করুন:
দুই line দেখা মানে — connection set! ✅
Command 2: git branch -M main
আপনার current branch-এর নাম main set করুন (যদি আগে থেকে main না হয়):
এই command:
git branch— branch সম্পর্কিত command-M— rename (move) flagmain— নতুন name
পুরোনো Git-এ default branch নাম ছিল master। ২০২০ সাল থেকে GitHub change করেছে main-এ। এই command-এ আপনার branch main-এ rename হবে।
🔐 Authentication — Personal Access Token (PAT)
⚠️ Important: GitHub এখন password support করে না
আগে আপনি GitHub password দিয়ে authenticate করতেন। ২০২১ সাল থেকে GitHub এটা বন্ধ করে দিয়েছে। এখন আপনাকে Personal Access Token (PAT) use করতে হবে — যেটা একটি specially-generated password।Personal Access Token কীভাবে তৈরি করবেন?
GitHub Settings-এ যান
GitHub-এ login → আপনার profile picture click → "Settings"
Developer Settings → Personal Access Tokens
Settings page-এর সবচেয়ে নিচে scroll করুন → "Developer settings" → "Personal access tokens" → "Tokens (classic)"
সরাসরি যেতে: github.com/settings/tokens
"Generate new token (classic)" Click
- Note: "My Laptop Token" (আপনি চিনতে পারবেন এমন নাম)
- Expiration: 90 days (recommended for beginner)
- Scopes:
repocheckbox tick করুন (এটাই যথেষ্ট beginner-এর জন্য)
সবচেয়ে নিচে "Generate token" click করুন।
Token Copy করে রাখুন
GitHub আপনাকে একটি দীর্ঘ token দেখাবে — যেমন: ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
🔥 এই token-টা এখনি কোথাও save করে রাখুন!
Page refresh করলে এই token আর দেখাবে না। একটি secure place-এ (password manager, encrypted note) save করুন। হারিয়ে গেলে নতুন token generate করতে হবে।📤 প্রথম Push: git push -u origin main
এখন সব ready! আপনার local code GitHub-এ upload করুন:
এই command-এর breakdown:
git push— Local থেকে remote-এ পাঠান-u— Upstream set করুন (পরের বার শুধুgit pushচালালেই হবে)origin— কোন remote-এ পাঠাবেনmain— কোন branch-এ পাঠাবেন
Authentication Prompt
প্রথমবার push-এ Git আপনাকে credentials চাইবে:
- Username: আপনার GitHub username
- Password: Personal Access Token paste করুন (regular password নয়!)
💡 Password paste হচ্ছে না দেখা যাচ্ছে?
Terminal-এ password type করার সময় কিছু দেখায় না — security feature। আপনি paste করুন এবং Enter চাপুন — দেখবেন কাজ হয়েছে।Successful Push
🎉 আপনার project এখন GitHub-এ live!
🌐 GitHub-এ Project Check করুন
Browser-এ যান: https://github.com/your-username/my-portfolio-website
আপনি দেখতে পাবেন:
- ✅ আপনার
index.htmlfile - ✅ Latest commit message
- ✅ আপনার নাম (Post 3-এ যে set করেছিলেন)
- ✅ "1 commit" বা যত commit আছে — সেই count
File-এ click করলে — content দেখাবে। ঠিক যেমনটা আপনার computer-এ আছে — অবিকল।
📝 README.md Add করুন
এখন project-কে আরও professional বানাই। একটি README.md file add করুন:
Step 1: Local-এ README.md তৈরি করুন
Text editor-এ my-portfolio-website folder-এ README.md file তৈরি করুন:
Step 2: Stage, Commit, Push
GitHub refresh করুন — README.md এখন automatically display হবে repository-এর homepage-এ। 🎨
📋 সব Commands এক জায়গায় (Reference)
| Command | কী করে |
|---|---|
git remote add origin URL | Local-কে remote-এর সাথে connect করে |
git remote -v | সব configured remote দেখায় |
git branch -M main | Current branch-এর নাম main set করে |
git push -u origin main | প্রথমবার push — upstream set |
git push | পরবর্তী push (upstream set থাকলে) |
⚠️ Common Beginner Mistakes
1. Regular Password দিয়ে authenticate করার চেষ্টা
সমস্যা: "Authentication failed" error।
সমাধান: GitHub password নয় — Personal Access Token use করুন।
2. Repository URL-এ ভুল
সমস্যা: fatal: 'origin' does not appear to be a git repository
সমাধান: git remote -v দিয়ে URL check করুন। ভুল হলে remove করে আবার add:
3. README checkbox tick করে repository তৈরি করা
সমস্যা: Local-এ আগে থেকে commit আছে, GitHub-এও আলাদা README আছে — push করতে গিয়ে conflict।
সমাধান: Beginner হিসেবে repository তৈরির সময় কোনো option checkbox tick করবেন না।
4. Wrong directory থেকে push চালানো
সমস্যা: fatal: not a git repository
সমাধান: cd দিয়ে আপনার project folder-এ যান। pwd দিয়ে confirm করুন।
5. PAT-এর scope-এ repo tick না করা
সমস্যা: "Permission denied" error।
সমাধান: নতুন PAT generate করুন — repo scope tick করতে ভুলবেন না।
6. Sensitive file (password, API key) push করে ফেলা
সমস্যা: Public repo-তে আপনার secret key publicly exposed।
সমাধান: Push-এর আগে file content double-check করুন। API key থাকলে — সেটা সেই service-এ গিয়ে immediately revoke করুন এবং নতুন generate করুন। .gitignore use করে sensitive file exclude করুন (পরের পর্বগুলোতে শিখব)।
📝 Practice Tasks
Task 1: GitHub Account + Repository তৈরি
- GitHub account তৈরি করুন (যদি না থাকে)
- একটি Personal Access Token generate করুন (90 days,
reposcope) my-portfolio-websiteনামে public repository তৈরি করুন- কোনো checkbox tick করবেন না
Task 2: Local Project Upload
- Terminal-এ আপনার local
my-portfolio-websitefolder-এ যান git remote add origin YOUR-URLচালানgit branch -M maingit push -u origin main— PAT দিয়ে authenticate- Browser-এ আপনার GitHub repo URL খুলে confirm করুন
Task 3: README Add করুন
- Local-এ
README.mdfile তৈরি করুন - আপনার নিজের তথ্য (নাম, project description, features) লিখুন
git add README.md→git commit -m "Added README"→git push- GitHub refresh করুন — README homepage-এ দেখা যাচ্ছে কিনা?
Task 4: Share করুন!
আপনার repository-র URLhttps://github.com/your-username/my-portfolio-website বন্ধু-বান্ধবের সাথে share করুন। এটাই আপনার first public coding project! ভবিষ্যতে resume-এ এই link দেবেন।
🎁 আরও সাহায্য চাই? Bonus Resources দেখুন
- 📋 Cheat Sheet — সব command এক পাতায়, print-friendly
- 🎯 10 Practice Tasks — hands-on exercises
- 💼 Interview Q&A — job preparation
- ✅ Portfolio Checklist — job-ready profile তৈরির গাইড
📌 সংক্ষেপে — Summary
- ✅ Repository = GitHub-এ আপনার project folder
- ✅ Local repo = আপনার computer-এ; Remote repo = GitHub server-এ
- ✅ Public repo = সবাই দেখতে পারে; Private = শুধু আপনি
- ✅ Beginner-দের জন্য সবসময় Public দিয়ে শুরু করুন
- ✅ README.md = repository-র "front page" — Markdown-এ লেখা
- ✅ GitHub এখন Personal Access Token (PAT) দাবি করে (password নয়)
- ✅ Local-Remote connect করার flow:
git remote add origin→git branch -M main→git push -u origin main - ✅ পরের push শুধু
git pushচালালেই হবে
🎉 আপনার project এখন GitHub-এ live! পরের পর্বে আমরা শিখব daily Git workflow — যেটা real developers-রা প্রতিদিন ব্যবহার করেন।
📬 পরের পর্ব মিস করতে চান না?
ShadhinPath Newsletter subscribe করুন — Git & GitHub সিরিজের প্রতিটি পর্ব সরাসরি আপনার inbox-এ।
📬 Newsletter Subscribe 📚 সম্পূর্ণ সিরিজ📧 Question? hello@shadhinpath.com
প্রতি সপ্তাহে নতুন বাংলা গাইড পেতে চান?
ShadhinPath Facebook page Follow করে রাখুন — Tech career, USA immigration, finance, study abroad — সব নতুন content প্রথমে এখানে আসে।
👍 Facebook-এ Follow করুন