تمرين - جرب Git

مكتمل

قبل أن تتمكن من إنشاء المستودع الأول، يجب التأكد من تثبيت Git وتكوينه. يأتي Git مثبتا مسبقا مع Azure Cloud Shell، حتى نتمكن من استخدام Git في Cloud Shell إلى اليمين.

تكوين Git

  1. في Cloud Shell، للتحقق مرة أخرى من تثبيت Git، اكتب git --version:

    git --version
    

    بقشيش

    يمكنك استخدام الزر Copy لنسخ الأوامر إلى الحافظة. للصق، انقر بزر الماوس الأيمن فوق سطر جديد في محطة Cloud Shell الطرفية وحدد لصق، أو استخدم اختصار لوحة المفاتيح Shift+Insert (⌘+V على macOS).

  2. يجب أن تشاهد الإخراج الذي يبدو مثل هذا المثال:

    git version 2.7.4
    
  3. لتكوين Git، يجب تحديد بعض المتغيرات العمومية: user.nameuser.email. كلاهما مطلوب لك لإجراء عمليات التثبيت.

  4. قم بتعيين اسمك في Cloud Shell باستخدام الأمر التالي. استبدل <USER_NAME> باسم المستخدم الذي تريد استخدامه.

    git config --global user.name "<USER_NAME>"
    
  5. الآن، استخدم هذا الأمر لإنشاء متغير تكوين user.email، واستبدال <USER_EMAIL> بعنوان البريد الإلكتروني الخاص بك:

    git config --global user.email "<USER_EMAIL>"
    
  6. قم بتشغيل الأمر التالي للتحقق من عمل التغييرات:

    git config --list
    
  7. تأكد من أن الإخراج يتضمن سطرين مشابهين للمثال التالي. سيكون اسمك وعنوان بريدك الإلكتروني مختلفا عما هو موضح في المثال.

    user.name=User Name
    user.email=user-name@contoso.com
    

إعداد مستودع Git الخاص بك

يعمل Git عن طريق التحقق من وجود تغييرات على الملفات داخل مجلد معين. سننشئ مجلدا ليكون بمثابة شجرة عمل (دليل المشروع) ونعلم Git بذلك، حتى يتمكن من البدء في تعقب التغييرات. نطلب من Git البدء في تعقب التغييرات عن طريق تهيئة مستودع Git في هذا المجلد.

ابدأ بإنشاء مجلد فارغ لمشروعك، ثم قم بتهيئة مستودع Git داخله.

  1. أنشئ مجلدا باسم Cats. سيكون هذا المجلد هو دليل المشروع، ويسمى أيضا شجرة العمل. دليل المشروع هو المكان الذي يتم فيه تخزين جميع الملفات المتعلقة بمشروعك. في هذا التمرين، يتم تخزين موقع الويب الخاص بك والملفات التي تنشئ موقع الويب ومحتوياته.

    mkdir Cats
    
  2. قم بالتغيير إلى دليل المشروع باستخدام الأمر cd:

    cd Cats
    
  3. الآن، قم بتهيئة المستودع الجديد وتعيين اسم الفرع الافتراضي إلى main:

    إذا كنت تقوم بتشغيل إصدار Git 2.28.0 أو أحدث، فاستخدم الأمر التالي:

    git init --initial-branch=main
    

    أو استخدم الأمر التالي:

    git init -b main
    
    

    بالنسبة للإصدارات السابقة من Git، استخدم هذه الأوامر:

    git init
    git checkout -b main
    
    

    بعد تشغيل أمر التهيئة، يجب أن ترى الإخراج مشابها لهذا المثال:

    Initialized empty Git repository in /home/<user>/Cats/.git/
    
    Switched to a new branch 'main'
    
  4. الآن، استخدم أمر git status لإظهار حالة شجرة العمل:

    git status
    

    يستجيب Git بهذا الإخراج، مما يشير إلى أن main هو الفرع الحالي. (إنه أيضا الفرع الوحيد.) كل شيء على ما يُرام حتى الآن.

     On branch main
    
     No commits yet
    
     nothing to commit (create/copy files and use "git add" to track)        
    
  5. استخدم أمر ls لإظهار محتويات شجرة العمل:

    ls -a
    

    تأكد من أن الدليل يحتوي على دليل فرعي يسمى .git. (يعد استخدام خيار -a مع ls أمرا مهما لأن Linux عادة ما يخفي أسماء الملفات والدلائل التي تبدأ بنقطة.) هذا المجلد هو مستودع Git — الدليل الذي يخزن فيه Git بيانات التعريف والمحفوظات لشجرة العمل.

    عادة لا تفعل أي شيء مع دليل .git مباشرة. يقوم Git بتحديث بيانات التعريف هناك مع تغير حالة شجرة العمل لتتبع ما تم تغييره في ملفاتك. هذا الدليل هو التدريب العملي بالنسبة لك، ولكن من المهم بشكل لا يصدق ل Git.

الحصول على المساعدة من Git

يحتوي Git، مثل معظم أدوات سطر الأوامر، على وظيفة تعليمات مضمنة يمكنك استخدامها للبحث عن الأوامر والكلمات الأساسية.

  1. اكتب الأمر التالي للحصول على تعليمات حول ما يمكنك القيام به باستخدام Git:

    git --help
    
  2. يعرض الأمر الإخراج التالي:

    usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]
    
    These are common Git commands used in various situations:
    
    start a working area (see also: git help tutorial)
       clone      Clone a repository into a new directory
       init       Create an empty Git repository or reinitialize an existing one
    
    work on the current change (see also: git help everyday)
       add        Add file contents to the index
       mv         Move or rename a file, a directory, or a symlink
       reset      Reset current HEAD to the specified state
       rm         Remove files from the working tree and from the index
    
    examine the history and state (see also: git help revisions)
       bisect     Use binary search to find the commit that introduced a bug
       grep       Print lines matching a pattern
       log        Show commit logs
       show       Show various types of objects
       status     Show the working tree status
    
    grow, mark and tweak your common history
       branch     List, create, or delete branches
       checkout   Switch branches or restore working tree files
       commit     Record changes to the repository
       diff       Show changes between commits, commit and working tree, etc
       merge      Join two or more development histories together
       rebase     Forward-port local commits to the updated upstream head
       tag        Create, list, delete or verify a tag object signed with GPG
    
    collaborate (see also: git help workflows)
       fetch      Download objects and refs from another repository
       pull       Fetch from and integrate with another repository or a local branch
       push       Update remote refs along with associated objects
    
    'git help -a' and 'git help -g' list available subcommands and some
    concept guides. See 'git help <command>' or 'git help <concept>'
    to read about a specific subcommand or concept.
    

اقرأ الخيارات المختلفة المتوفرة مع Git ولاحظ أن كل أمر يأتي مع صفحة التعليمات الخاصة به، عندما تبدأ في البحث أعمق. لن تكون كل هذه الأوامر منطقية حتى الآن، ولكن قد تبدو بعضها مألوفة إذا كانت لديك خبرة في استخدام VCS.

في الدرس التالي، ستتعرف على المزيد حول الأوامر التي جربتها للتو وأساسيات Git.