در سیستم کنترل نسخهٔ گیت میتوان یک فایل مخفی تحت عنوان 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 و کلیهٔ محتویات آن دیگر روی ریپازیتوری آنلاین پوش نخواهند شد.
