راهنمای گیت

نادیده‌گرفتن فایل‌ها

ممکن است در دایرکتوری پروژه فایل‌هایی داشته باشید که نخواهید گیت آن‌ها را ردیابی کند؛ مثل فایل‌های تنظیمات محلی، وابستگی‌های نصب‌شده یا فایل‌های ساخته‌شده توسط کامپایلر. برای این کار باید در دایرکتوری پروژه یک فایل به نام .gitignore بسازید.

ساختار فایل .gitignore

# این خط کامنت است و نادیده گرفته می‌شود

# نادیده‌گرفتن یک فایل خاص
secret.txt

# نادیده‌گرفتن تمام فایل‌های با پسوند .log
*.log

# نادیده‌گرفتن یک دایرکتوری
node_modules/
build/
dist/

# نادیده‌گرفتن یک فایل در یک دایرکتوری مشخص
config/database.yml

# نادیده‌گرفتن تمام فایل‌های .txt در هر جای پروژه
**/*.txt

قوانین الگو

الگوتوضیح
*.logتمام فایل‌های با پسوند .log
build/دایرکتوری build و تمام محتویات آن
doc/*.txtفایل‌های .txt فقط در دایرکتوری doc
**/logsدایرکتوری logs در هر جای پروژه
!important.logاین فایل را نادیده نگیر (استثنا)

نمونه برای پروژه‌های مختلف

برای پروژه‌های Python:

__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.env
venv/

برای پروژه‌های Node.js:

node_modules/
npm-debug.log
.env
dist/

gitignore سراسری

می‌توانید یک فایل .gitignore سراسری برای تمام پروژه‌هایتان تعریف کنید:

git config --global core.excludesfile ~/.gitignore_global

سپس فایل ~/.gitignore_global را بسازید و الگوهایی مثل فایل‌های سیستم‌عامل را در آن بنویسید:

# macOS
.DS_Store
.AppleDouble

# Windows
Thumbs.db
ehthumbs.db

# ویرایشگرها
.idea/
.vscode/
*.swp

بررسی اینکه چرا یک فایل نادیده گرفته می‌شود

git check-ignore -v نام‌فایل

این دستور نشان می‌دهد کدام قانون در .gitignore باعث نادیده‌گرفتن آن فایل شده است.

نادیده‌گرفتن فایل‌هایی که قبلاً ثبت شده‌اند

اگر فایلی قبلاً در گیت ثبت شده باشد، اضافه‌کردن آن به .gitignore کافی نیست و باید ابتدا از ردیابی گیت خارج شود:

git rm --cached نام‌فایل

نکته‌ها

  • خود فایل .gitignore باید توسط دستور add به پروژه اضافه و کامیت شود.
  • خطوطی که با # شروع می‌شوند به عنوان کامنت در نظر گرفته می‌شوند.
  • برای نمونه‌های آماده برای زبان‌ها و فریم‌ورک‌های مختلف، به وبسایت gitignore.io مراجعه کنید.