إذا كنت مبرمجاً وكان الكود يعمل بشكل جيد ثم أضفت بعض التعديلات وتوقف عن العمل أو حدث تغيير لا ترغب به وغالباً مع الأسف تجلس وقت طويل من أجل معرفة أين أخطأت وربما تستخدم الأمر FC للويندوز و DIFF للماك ولينكس لمقارنة الملفات في حال كانت النسخة الأصلية من المشروع محفوظة لديك لمحاولة الرجوع لحالة الكود قبل التغيير إذا كنت من هؤلاء الأشخاص وتحتاج أن يكون عندك نسخة لكل تعديل قمت به مجدول باسم التعديل أو تحتاج زر للتراجع أو حتى إذا كنت تعمل مع فريق عمل وترغب بمشاركة المشروع معهم فأنت بحاجة إلى أحدى أنظمة التحكم بالإصدار version control system.
لماذا يجب أن نستخدم Git و GitHub ؟
Git يساعدنا في إدارة ملفات مشروعنا. أحد الأشياء الأساسية التي تقوم بها git وكذلك السبب الرئيسي لوجودها هو تتبع تاريخ الأشياء التي تعمل عليها.
يعد هذا مفيدًا بشكل خاص لمطوري البرامج لأنه عندما تعمل على مشروع ما ، فأنت تقوم أولاً بإنشاء إصدار أساسي منه ثم حاول تحسينه بإضافة ميزات جديدة (أو) فقط قم بتجربة الأشياء. هذه العملية برمتها لتجربة ميزات جديدة عرضة للخطأ بشكل لا يصدق ، وقد ترغب في العودة إلى الرمز الأصلي.
هذا هو المكان الذي يتم فيه تشغيل “التحكم في الإصدار” ، وهو يتتبع تلقائيًا كل دقيقة تتغير في مشروعك ويسمح لنا بالعودة إلى إصدار سابق بغض النظر عن عدد المرات التي قمت فيها بتغيير ملفاتك.
بوابة سهلة التعلم ولها أداء سريع البرق. تتفوق أنظمة التحكم في الإصدار الأخرى مثل Sub Version مع ميزات مثل التفريعات الرخيصة والمحلية ، ومناطق التدريج المريحة وسير العمل المتعددة.
إن استخدام GitHub يجعل التعاون مع الزملاء والأقران أسهل وإلقاء نظرة على الإصدارات السابقة من عملك. إذا لم تكن تستخدم GitHub بالفعل لمشاريع الترميز الخاصة بك ، فإليك بعض الأسباب التي يجب مراعاتها عند القيام بذلك.
ما هو Git
Git هو نظام التحكم في الإصدار الأكثر استخدامًا version control system والذي يسمح بتتبع شفرة المصدر وإدارتها بمرور الوقت، تم تشغيله بواسطة Linus Torvalds، وهو نفس الشخص الذي أنشأ Linux، لقد تم تصميمها من أجل التعاون وصُممت لتكون مرنة وآمنة وفعالة فهو يتيح للأشخاص العمل معًا في نفس المشروع في نفس الوقت دون الإخلال بملفات بعضهم البعض.
ماهو GitHub
GitHub هي منصة مشاركة وتعاون التعليمات البرمجية للتحكم في الإصدار باستخدام Git. أساسا ، هو موقع التواصل الاجتماعي للمطورين. يمكنك إلقاء نظرة على أكواد الأشخاص الآخرين وتحديد المشكلات المتعلقة بالأكواد الخاصة بهم واقتراح التغييرات. هذا يساعدك أيضًا في تحسين التعليمات البرمجية الخاصة بك. من ناحية أخرى ، يعد مكانًا رائعًا لتستعرض مشروعاتك وتُلاحظ من قِبل شركات التوظيف المحتملة.
باختصار ، Git هو Version Control System و GitHub هي خدمة استضافة لـ Git Repositories.
تتشابه مصادر أخرى مع GitHub – بما في ذلك BitBucket و Microsoft Team Foundation Server ، وأكثر من ذلك – ولكن GitHub الأكثر استخداماً.
بعض المصطلحات الأساسية:
Repository: مستودع Git ، هو مجلد أبلغت Git بمساعدتك على تتبع تغييرات الملف.
Branch: الفرع هو خط مستقل للتنمية. يمكنك التفكير في الأمر كدليل عمل جديد تمامًا.
Fork: Fork هو نسخة شخصية من مستودع مستخدم آخر يعيش على حسابك.
Clone: استنساخ هو مجرد نسخة من مستودع يعيش على جهاز الكمبيوتر الخاص بك بدلا من الخادم.
Commit: الالتزام عبارة عن مجموعة من واحد أو أكثر من التغييرات على ملف (أو مجموعة من الملفات). في كل مرة تقوم بحفظها ، فإنها تنشئ معرّفًا فريدًا (“تجزئة”) يساعده في تتبع السجل.
Master: فرع التطوير الافتراضي. كلما قمت بإنشاء rep git ، يتم إنشاء فرع باسم “master” يصبح الفرع النشط الافتراضي.
التحميل Installation:
أوامر Git:
Git task | Notes | Git commands |
---|---|---|
Tell Git who you are لتخبر Git من أنت. |
لإضافة اسمك كل المشاريع التي تعمل عليها.
لإضافة بريديك الإلكتروني لكل المشاريع التي تعمل عليها باستخدام git. |
" git config --global user.name "#your_name
|
Create a new local repository لإنشاء مستودع جديد |
git init |
|
Check out a repository لإنشاء نسخة من مستودع موجود (مشروع كامل) للعمل عليه. |
إنشاء نسخة عمل من مستودع محلي: |
git clone /path/to/repository |
For a remote server |
git clone username@host:/path/to/repository |
|
Add files لإضافة الملفات |
لإضافة ملف أو عدة ملفات.
|
<git add <filename * git add |
Commit لإضافة تعديل |
للتخزين الفعل للتعديلات وحفظها. |
"git commit -m "Commit message |
للقيام بتنفيذ أي ملفات قمت بإضافتها باستخدام git add ، أيضًا تنفيذ أي ملفات قمت بتغييرها منذ ذلك الحين |
git commit -a |
|
Push |
لإرسال التغيرات إلى مسار master في المستودع البعيد |
git push origin master |
Status لمعرفة الحالة الحالية التي تتواجد عليها ملفات المشروع. |
للتحقق من حالة الملفات التي قمت بتغييرها |
git status |
Connect to a remote repository لتوصيل المستودعات المحلية بالمستودعات البعيدة |
<git remote add origin <server |
|
قائمة بجميع المستودعات عن بعد المكونة حاليا |
git remote -v |
|
Branches المسارات |
إنشاء مسار (فرع) جديد والإنتقال له. |
<git checkout -b <branchname |
للإنتقال من مسار إلى آخر. |
<git checkout <branchname |
|
لإخبارك بالمسارات الموجودة وتحديد المسار المستخدم حالياً |
git branch |
|
لحذف مسار (branch). |
<git branch -d <branchname |
|
ارفع الفرع إلى مستودعك البعيد ، حتى يتمكن الآخرون من استخدامه: |
<git push origin <branchname |
|
ارفع كل المسارات إلى المستودع البعيد |
git push --all origin |
|
حذف فرع في مستودع التخزين البعيد الخاص بك |
<git push origin :<branchname |
|
Update from the remote repository تحديث من مستودع البعيد |
جلب ودمج التغييرات على الخادم البعيد إلى دليل العمل الخاص بك. | git pull |
لدمج فرع مختلف في الفرع النشط الخاص بك |
<git merge <branchname |
|
عرض كل تعارضات الدمج: عرض التعارضات ضد الملف الأساسي. معاينة التغييرات ، قبل الدمج. |
git diff
<git diff <sourcebranch> <targetbranch |
|
بعد حل أي تعارض يدويًا ، يمكنك وضع علامة على الملف الذي تم تغييره. |
<git add <filename |
|
Tags الوسوم |
يمكنك استخدام العلامات لوضع علامة على مجموعة تغييرات مهمة ، مثل الإصدار. |
<git tag 1.0.0 <commitID |
لرؤية التفاصيل السابقة للمستودع الذي تعمل عليه |
git log |
|
ارفع كل الوسوم إلى مستودع التخزين البعيدرفـع البيانـات أو التعديـلات الجديـدة التـي قـام بهـا المطـور إلى مسـتودع الشـيفرة الموجـود عـلى السيرفر |
git push --tags origin |
|
Undo local changes التراجع عن التغييرات المحلية |
إذا قمت بفوضى ، فيمكنك استبدال التغييرات في شجرة العمل بأحدث محتوى في الرأس: سيتم الاحتفاظ بالتغييرات التي تمت إضافتها بالفعل إلى الفهرس ، وكذلك الملفات الجديدة. |
<git checkout -- <filename |
بدلاً من ذلك ، لإسقاط جميع التغييرات والالتزامات المحلية ، احصل على أحدث محفوظات من الخادم وتوجيه فرع سيدك المحلي بها ، قم بما يلي: |
git fetch origin git reset --hard origin/master |
|
Search البحث |
ابحث في دليل العمل عن foo (): | "()git grep "foo |
المصادر:
https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
https://www.coredna.com/blogs/what-is-git-and-github-part-two
https://codeburst.io/git-and-github-in-a-nutshell-b0a3cc06458f
أضف تعليق