تجهيز الملفات لإضافتها في المستودع في Git
- مفهوم تجهيز الملفات للمستودع
- إضافة ملف/مجلد لمنطقة التجهيز
- تطبيق عملي و شامل لكل ما تعلمته
مفهوم تجهيز الملفات للمستودع
عند إنشاء نسخة ( Commit ) من المشروع فإن Git ينسخ منه فقط الملفات و المجلدات المجهزة ليتم حفظها فيه.
المكان الذي يتم تجهيز الملفات فيه بشكل مؤقت ليتم حفظها في النسخة القادمة يسمى منطقة التجهيز ( Staging Area ).
أي ملف أو مجلد موجود في مشروعك تريد من Git أن يقوم بتضمينه في النسخة القادمة التي تنشئها منه، عليك إضافته له في منطقة التجهيز.
إضافة ملف/مجلد لمنطقة التجهيز
لإضافة ملفات و مجلدات المشروع إلى منطقة التجهيز يمكنك استخدام الأمر git add كما يلي:
git add <filename> لإضافة ملف أو مجلد محدد في النسخة القادمة.
git add --all لإضافة جميع ملفات و مجلدات المشروع في النسخة القادمة.
git add -A أيضاً لإضافة جميع ملفات و مجلدات المشروع في النسخة القادمة (كالأمر السابق).
git add . لإضافة جميع ملفات و مجلدات الموجودة في المجلد الحالي في النسخة القادمة.
تطبيق عملي و شامل لكل ما تعلمته
سنفترض أنه لديك مشروع يتكون من مجلّد إسمه demo و بداخله 3 ملفات إسمهم file1.txt و file2.txt و file3.txt.
الآن، إفتح موجّه الأوامر و توجه إلى المجلد demo لتبدأ التجربة عليه.
1- فيما يلي قمنا باستخدام الأمر git init لإنشاء مستودع .git بداخل مجلد المشروع demo.
2- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع .git الخاص بالمشروع demo.
Terminal
> git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file1.txt
file2.txt
file3.txt
nothing added to commit but untracked files present (use "git add" to track)
حين عرضنا حالة المستودع، علمنا ما يلي:
- إسم الفرع الخاص بالمستودع هو
master مما يعني أنه الفرع الرئيسي للمشروع.
- لا يوجد أي نسخ محفوظة بعد من المشروع.
- يوجد 3 ملفات غير مٌتعقّبة هي
file1.txt و file2.txt و file3.txt.
الملفات غير المٌتعقّبة هي ملفات موجودة في المشروع و لكن لم يتم تجهيزها ليتم إضافتها في النسخة القادمة التي يتم إنشاؤها من المشروع.
3- فيما يلي قمنا باستخدام الأمر git add لتجهيز الملف file1.txt ليتم إضافته في النسخة القادمة التي يتم إنشاؤها من المشروع demo.
Terminal
> git add file1.txt
4- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع الخاص بالمشروع من جديد.
Terminal
> git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file1.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
file2.txt
file3.txt
حين عرضنا حالة المستودع هذه المرة علمنا ما يلي:
- الملف
file1.txt تم تجهيزه ليتم إضافته في المستودع.
- الملفين
file2.txt و file3.txt لا يزالان غير متعقبين.
إذاً الملف file1.txt هو فقط الملف الذي سيتم إضافته في النسخة القادمة التي يتم إنشاؤها من المشروع.
5- فيما يلي قمنا باستخدام الأمر git add لتجهيز جميع الملفات (المجهزة + غير المجهزة بعد) ليتم إضافتها في النسخة القادمة التي يتم إنشاؤها من المشروع demo.
6- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع الخاص بالمشروع من جديد.
Terminal
> git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file1.txt
new file: file2.txt
new file: file3.txt
حين عرضنا حالة المستودع هذه المرة علمنا أن جميع ملفات المشروع أصبحت مجهزة ليتم إضافتها في في المستودع.
في الدرس التالي، سنتعلم كيف إنشاء نسخة ( Commit ) من المشروع و حفظ الملفات المجهزة فيها.