نادیدهگرفتن فایلها
ممکن است در دایرکتوری پروژه فایلهایی داشته باشید که نخواهید گیت آنها را ردیابی کند؛ مثل فایلهای تنظیمات محلی، وابستگیهای نصبشده یا فایلهای ساختهشده توسط کامپایلر. برای این کار باید در دایرکتوری پروژه یک فایل به نام .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 مراجعه کنید.