التصنيفات
GIT productivity and teamwork

أنشاء الفروع في الـ GIT ودمجها

تتمثل إحدى أقوى ميزات Git في القدرة على إنشاء الفروع ( branches ) ودمجها بسهولة. تشجع طبيعة Git الموزعة المستخدمين على إنشاء فروع جديدة في كثير من الأحيان ودمجها بانتظام كجزء من عملية التطوير. هذا يحسن بشكل أساسي سير عمل التطوير لمعظم المشاريع من خلال تغييرات اصغر حجماً واكثر تأثيراً

في أنظمة التحكم في الإصدارات القديمة (مثل CVS) ، بسبب صعوبة العملية أقتصرت عمليات الدمج على المستخدمين الخبراء.
حتى في أنظمة التحكم في الحديثة نسبياُ مقل Subversion ، يجب رفع ال ( commits ) إلى مستودع مركزي ،
لذلك فإن الفروع والدمج يعتبر مميز وسهل في الـ GIT.

العمل المتفرّع ( branching workflow ) هو امر شائع الاستخدام في Git وهو عبارة عن إنشاء فرع جديد لكل ميزة جديدة أو لإصلاح خلل أو التحسين.
كل فرع يتم رفع كل التعديلات والاكواد الجديدة الخاصة بميزة معينة او اصلاح معين وبمجرد اكتمال الميزة الجديدة تكون جاهزة للدمج مرة أخرى في الفرع الرئيسي ( master branch ) .
كما يمكن رفع كل فرع على حدة لمستودع البرمجيات .

يتم استخدام الأمر git branch لإستعراض جميع الفروع الموجودة . ستظهر علامة النجمة بجوار الفرع النشط حاليًا.

لإنشاء فرع جديد ، يمكننا استخدام الامر التالي  git branch new-branch. سيؤدي هذا إلى إنشاء فرع جديد وينسخ كل شي موجود على الفرع النشط حاليًا.

في هذه المرحلة ، أنشأنا فرعًا جديدًا ، ولكننا لا نزال موجودين في الفرع الرئيسي ( master branch ) .
لبدء العمل في الفرع الجديد ، نحتاج أولاً إلى تشغيل الأمر
git checkout new-branch. سيؤدي ذلك إلى تغيير الفرع النشط إلى الفرع الجديد.

في هذه المرحلة ، سيتم إضافة الايداعات ( commits ) للفرع الجديد . بمجرد اكتمال التعديلات و الانتهاء من العمل المطلوب ، يمكن دمج الايداعات ( commits ) للفرع الرمز الرئيسي ( master ).

أولاً نتحول للفرع الرئيسي ( master ) من خلال تنفيذ الامر التالي git checkout master. ثم نقوم بتشغيل الأمر
git merge new-branch لدمج الميزة الجديدة في الفرع الرئيسي. لاحظ أن git merge تدمج الفرع المحدد في الفرع النشط حاليًا. لذلك نحن بحاجة إلى أن نكون على الفرع الذي ندمج فيه.

إذا سارت الامور بشكل جيد نكون قد انهينا العمل. تظهر التغييرات والايداعات ( commits ) التي قمنا بها في الفرع new_branch في الفرع master . ومع ذلك ، من المحتمل ألا يتمكن Git من إكمال الدمج بسبب تغيير التعارض في فرع المصدر. هذا يسمى تعارض دمج و ربما سأفرد له مقاله منفصله .

للتلخيص ، فيما يلي الأوامر لإنشاء فرع جديد ، وإجراء بعض الايداعات ( commits ) ، وإعادة دمجها في الفرع الرئيسي:

التصنيفات
servers and security Terminal

البحث عن النصوص باستخدام Terminal على Mac


لتحديد مكان نص داخل ملف او مجلد ، استخدم أداة grep.

تقوم أداة grep بالبحث في الملفات عن السطور التي تحتوي على مطابقة للنص المطلوب .
افتراضيًا ، يطبع grep النصوص المطابقة ومسار الملف في النظام.

للبحث داخل ملف واحد استخدم الامر التالي

grep text fileـname

استبدل text بالنص الذي تريد البحث عنه واستبدل file_name باسم الملف الذي تريد البحث فيه.

للبحث داخل مجلد والمجلدات التي بداخله استخدم الامر التالي

grep -r "text" "folder_name"

استبدل text بالنص الذي تريد البحث عنه واستبدل folder_name باسم المجلد الذي تريد البحث فيه.

التصنيفات
servers and security

ssh-copy-id إضافة مفتاح الاتصال لسيرفرك

إعداد مصادقة المفتاح العمومي

 في ال SSH  هنالك مفتاحان الاول public و private. (المفتاح العمومي والمفتاح الخاص)
الغرض من ssh-copy-id هو جعل إعداد مصادقة المفتاح العام أسهل. هذه العملية هي على النحو التالي.

إنشاء مفتاح SSH

باستخدام OpenSSH ، يتم إنشاء مفتاح SSH باستخدام
ssh-keygen. في أبسط شكل ، فقط قم بتشغيل ssh-keygen والإجابة على الأسئلة. المثال التالي يوضح هذا.

يستغرق إنشاء زوج مفاتيح (المفتاح العمومي والمفتاح الخاص) دقيقة واحدة فقط. عادة ما يتم تخزين الملفات الرئيسية في المجلد ~/.ssh

نسخ المفتاح للسيرفر

بمجرد إنشاء مفتاح SSH ، يمكن استخدام الأمر ssh-copy-id لتثبيته كمفتاح معتمد على السيرفر. بمجرد أن يتم اعتماد المفتاح لـ SSH ، فإنه يمنح الوصول إلى السيرفر دون كلمة مرور.

استخدم الأمر التالي لنسخ مفتاح SSH:

يؤدي هذا إلى تسجيل الدخول إلى مضيف السيرفر ، ونسخ المفاتيح إلى السيرفر ، وتكوينها لمنح حق الوصول عن طريق إضافتها إلى ملف Author_keys. قد يطلب النسخ كلمة مرور أو مصادقة أخرى للسيرفر.

يتم نسخ المفتاح العمومي فقط إلى السيرفر. لا ينبغي أبدا نسخ المفتاح الخاص إلى جهاز آخر.

اختبار المفتاح الجديد

بمجرد نسخ المفتاح ، من الأفضل اختباره:

يجب الآن إكمال تسجيل الدخول دون طلب كلمة مرور. لاحظ ، مع ذلك ، أن الأمر قد يطلب عبارة المرور التي حددتها للمفتاح.