تجهيز الملفات لإضافتها في المستودع في 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

> git init

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.

Terminal

> git add --all

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 ) من المشروع و حفظ الملفات المجهزة فيها.