GitHub এর হাতেখড়ি (পর্ব ৪) – .gitignore ও README

Git ও GitHub-এর হাতেখড়ি — পর্ব ৪: .gitignore ও README

আগের পর্বে আমরা শিখেছি কীভাবে commit history দেখতে হয় এবং ভুল হলে আগের অবস্থায় ফিরে যেতে হয়। আজকের পর্বে আমরা শিখব এমন দুটি বিষয়, যা প্রায় প্রতিটি professional project-এই ব্যবহার করা হয় — .gitignore এবং README.md

সব file কি track করা উচিত?

Project-এ কাজ করার সময় এমন অনেক file বা folder তৈরি হয়, যেগুলো Git দিয়ে track করার দরকার নেই। যেমন—

  • node_modules/ — npm package install করলে তৈরি হওয়া বিশাল folder
  • .env — যেখানে সাধারণত secret key, password বা sensitive তথ্য থাকে
  • Log file, cache file, বা IDE-এর নিজস্ব configuration folder (যেমন .vscode/)
  • Build হওয়ার পর তৈরি হওয়া output folder (যেমন dist/, build/)

এই ধরনের file repository-তে track করলে repository অপ্রয়োজনীয়ভাবে ভারী হয়ে যায়, আর sensitive তথ্য GitHub-এ চলে গেলে security ঝুঁকিও তৈরি হয়। এই সমস্যার সমাধান হলো .gitignore

.gitignore কী?

.gitignore হলো একটি সাধারণ text file, যেখানে তুমি লিখে দাও কোন কোন file বা folder Git-এর track করা উচিত না। Git এই list দেখে সেই file/folder-গুলো সম্পূর্ণ উপেক্ষা করে।

.gitignore file তৈরি করা

তোমার project folder-এর root-এ (মূল folder-এ) নিচের command দিয়ে file তৈরি করতে পারো:

touch .gitignore

এবার এই file-এ text editor দিয়ে নিচের মতো entry যোগ করো:

node_modules/
.env
.vscode/
dist/
*.log

.gitignore-এর প্যাটার্ন লেখার নিয়ম

কয়েকটি সাধারণ নিয়ম জানা থাকলে .gitignore লেখা সহজ হয়ে যায়:

  • folder-name/ — শেষে slash দিলে সেটা folder বোঝায়, সেই folder-এর ভেতরের সব file বাদ যাবে
  • *.log* চিহ্ন দিয়ে যেকোনো নামের সব .log extension-এর file বাদ দেওয়া যায়
  • .env — নির্দিষ্ট নামের file বাদ দিতে সরাসরি নাম লিখলেই হয়
  • !important.log — শুরুতে ! চিহ্ন দিলে সেই নির্দিষ্ট file-কে ignore-এর ব্যতিক্রম হিসেবে রাখা যায়

টিপস: GitHub-এ repository তৈরি করার সময় ভাষা/framework অনুযায়ী (যেমন Node, Python) একটি default .gitignore template বেছে নেওয়ার option পাওয়া যায়, যেটা শুরুতে অনেক কাজ সহজ করে দেয়।

ইতিমধ্যে Track হওয়া file ignore করা

একটা গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে—যদি কোনো file আগে থেকেই commit করা হয়ে থাকে, তাহলে শুধু .gitignore-এ নাম যোগ করলেই সেটা track হওয়া বন্ধ হবে না। এক্ষেত্রে file-টিকে repository থেকে untrack করতে হবে:

git rm --cached .env

এই command চালালে file-টি তোমার computer থেকে মুছে যাবে না, শুধু Git-এর tracking থেকে বাদ পড়বে।

README.md কী এবং কেন গুরুত্বপূর্ণ?

README.md হলো একটি project-এর প্রথম পরিচয়। কেউ যখন তোমার GitHub repository-তে আসে, সবার আগে এই file-টিই তারা দেখতে পায়। তাই একটি ভালো README থাকা মানে হলো তোমার project সম্পর্কে ভালো একটি প্রথম ধারণা তৈরি হওয়া।

এখানে .md extension মানে হলো Markdown, যা সহজ syntax দিয়ে heading, list, code block, link ইত্যাদি লেখার একটি জনপ্রিয় format।

একটি ভালো README-এ সাধারণত যা থাকে

  • Project-এর নাম এবং সংক্ষিপ্ত বর্ণনা
  • Features বা মূল বৈশিষ্ট্য
  • Installation/Setup করার ধাপ
  • ব্যবহারের নিয়ম (Usage)
  • Screenshot বা demo link (থাকলে)
  • ব্যবহৃত Technology/Tools
  • Contribution নিয়ম (যদি open source হয়)
  • License তথ্য

README.md-এর একটি সাধারণ উদাহরণ

# My First Project

একটি সহজ landing page project, HTML, CSS এবং
JavaScript দিয়ে তৈরি।

## Features
- Responsive design
- Dark mode toggle
- Contact form

## Installation
1. Repository clone করো
2. `index.html` browser-এ open করো

## Technology
- HTML5
- CSS3
- JavaScript

## License
MIT License

Markdown-এর কিছু বেসিক Syntax

README লেখার জন্য Markdown-এর কিছু গুরুত্বপূর্ণ syntax জেনে রাখা ভালো:

# Heading 1
## Heading 2
**Bold text**
*Italic text*
- List item
1. Numbered item
[Link text](https://example.com)
`inline code`
```
code block
```

Badges দিয়ে README আরও প্রফেশনাল করা

অনেক GitHub project-এ README-এর উপরে ছোট ছোট রঙিন badge দেখা যায়, যেমন build status, license, version ইত্যাদি। এগুলো সাধারণত shields.io-এর মতো service দিয়ে তৈরি করা হয় এবং Markdown-এ image হিসেবে যোগ করা হয়:

![License](https://img.shields.io/badge/license-MIT-green)

এই ধরনের badge README-কে দেখতে আরও পরিচ্ছন্ন ও প্রফেশনাল করে তোলে।

Practice Task

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

  1. তোমার project folder-এ একটি .gitignore file তৈরি করো।
  2. সেখানে node_modules/, .env এবং *.log যোগ করো।
  3. git status চালিয়ে নিশ্চিত হও যে ignore করা file-গুলো আর দেখাচ্ছে না।
  4. একটি README.md file তৈরি করো এবং উপরের template অনুসরণ করে নিজের project সম্পর্কে লেখো।
  5. উভয় file git addgit commit করো।

আজ আমরা শিখলাম কীভাবে অপ্রয়োজনীয় file .gitignore দিয়ে বাদ দেওয়া যায়, এবং কীভাবে একটি প্রফেশনাল README.md লিখতে হয়। পরের পর্বে আমরা প্রথমবারের মতো GitHub-এ repository তৈরি করব এবং শিখব কীভাবে local repository-কে GitHub-এর সাথে যুক্ত করে git push করতে হয়।

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

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

যোগাযোগ ফর্ম