سرفصل‌های آموزشی
آموزش گیت
آشنایی با نحوهٔ Ignore کردن فایل‌ها و فولدرها

آشنایی با نحوهٔ Ignore کردن فایل‌ها و فولدرها

در سیستم کنترل نسخهٔ گیت می‌توان یک فایل مخفی تحت عنوان gitignore. ساخت که این وظیفه دارد تا فایل‌ها و فولدرهایی که حاوی دیتای حساس همچون رمزعبور دیتابیس هستند و یا حاوی فایل‌هایی هستند که وجودشان در ریپازیتوری آنلاین لزومی ندارد را به اصطلاح Ignore کرده یا فاکتور گرفت. برای درک بهتر این موضوع،‌ مجدد به پروژهٔ git-tutorial که در ابتدای این دوره ساختیم بازگشته و چنین فایلی را در مسیر روت این پروژه‌ ایجاد می‌کنیم:

git-tutorial
├── .git
├── .gitignore
├── index.html
├── main.js
└── styles.css

سپس فایل دیگری مثلاً تحت عنوان config.php حاوی محتویات زیر می‌سازیم:

<?php
return [
    'username' => 'something',
    'pass' => '123456',
];

فرض کنیم که این اطلاعات خیلی حساس هستند و تحت هیچ عنوان نمی‌باید روی ریپازیتوری آنلاین‌مان پوش شوند. در ادامه، فایل gitignore. را به صورت زیر تکمیل می‌کنیم:

config.php

در ادامه،‌ تغییرات را به صورت زیر ابتدا کامیت می‌کنیم:

/var/www/git-tutorial$ git add .
/var/www/git-tutorial$ git commit -m "config added"
[master 7006a25] config added
 1 file changed, 1 insertion(+)
 create mode 100644 .gitignore

سپس اقدام به پوش کردن دیتا روی سرورهای گیت‌هاب می‌نماییم:

/var/www/git-tutorial$ git push origin master 
Username for 'https://github.com': my.email.address@gmail.com
Password for 'https://my.email.address@gmail.com@github.com': 
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 356 bytes | 356.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/behzadmoradi/git-tutorial.git
   d2123d4..7006a25  master -> master

اکنون اگر به صفحهٔ اصلی ریپازیتوری مذکور در گیت‌هاب مراجعه کنیم، می‌بینیم که فایل gitignore. اضافه شده اما فایل config.php هرگز آپلود نشده است. همچنین اگر بخواهیم یک دایرکتوری و کلیهٔ محتویاتش را نیز نادیده بگیریم،‌ می‌توانیم این فایل را به صورت زیر آپدیت کنیم:

config.php
images/

در حقیقت،‌ از این پس پوشه‌ای تحت عنوان images و کلیهٔ‌ محتویات آن دیگر روی ریپازیتوری آنلاین پوش نخواهند شد.

online-support-icon