تجهيز الملفات لإضافتها في المستودع في 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.
Terminal
2- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع .git الخاص بالمشروع demo.
Terminal
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
4- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع الخاص بالمشروع من جديد.
Terminal
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.
Terminal
6- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع الخاص بالمشروع من جديد.
Terminal
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 ) من المشروع و حفظ الملفات المجهزة فيها.