[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/) [](https://join.slack.com/t/firstcontributors/shared_invite/zt-1hg51qkgm-Xc7HxhsiPYNN3ofX2_I8FA) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![Open Source Helpers](https://www.codetriage.com/roshanjossey/first-contributions/badges/users.svg)](https://www.codetriage.com/roshanjossey/first-contributions) #
مساهمتك الأولى
الصعوبة متوقعة لما تبدأ أي مشروع جديد، خصوصاً لو كان المشروع بيتضمن ناس تانية، ودة بيخلي الوقوع في الخطأ مزعج ومتعب.
لكن المساهمة في مشاريع مفتوحة المصدر اسسها العمل الجماعي والعطاء.
في المشروع دة هدفنا هو تبسيط الطريق لأول مساهمة ليك.
ممكن تقرأ وتتفرج على فيديوهات على الإنترنت عشان تعرف تبدأ فى المساهمة للمشاريع مفتوحة المصدر، لكن هتستفيد أكتر لو عرفت تساهم في مشروع دلوقتي من غير خوف لحسن تعمل حاجة غلط. المشروع اللى انت فاتحه حاليا بيركز انه يوفرلك التوجيهات الأولية اللي هتحتجها عشان تبدأ أول مساهمة ليك. مش مشكلة تغلط المهم انك تتعلم من الغلط ودة الهدف هنا. تابع الخطوات واحدة واحدة ونوعدك انك هتستمتع.
لو ماكنش عندك git على جهازك حمله من هنا.
##
أفصل المشروع دة - Fork this Repository
fork this repository
خد نسخة من المشروع دة (أو افصله) عن طريق انك تدوس على Fork في أعلى الصفحة. لو عملت كدة فأنت اخدت نسخة من الفولدر دة فى حسابك على github.
##
إنسخ المشروع دة - Clone the repository
clone this repository
انسخ المشروع دة لجهازك. دوس على Clone بعدين دوس على أيقونة Copy to clipboard
copy URL to clipboard
إفتح التريمنال وأكتب الأمر دة:
``` git clone "url you just copied" ```
بدل "url you just copied" حط الرابط اللي نسخته من الخطوة اللي فاتت، الرابط دة بتاع المشروع.
على سبيل المثال:
``` git clone https://github.com/this-is-you/first-contributions.git ```
في المثال دة لاحظ ان 'this-is-you' هيكون إسم حسابك في موقع github، الأمر دة هينسخ محتويات المشروع لجهازك الخاص عشان تقدر تعدل عليه بحرية في أي وقت.

##
إنشاء فرع - Create a branch
بما اننا عايزين نعمل تغيير فى الفايل اللى عملناله نسخة على الجهاز.. الأول ننتقل للفولدر اللي لسة نسخينه:
``` cd first-contributions ```
قبل مانعمل التغيير هنعمل "فرع" وهنديله اسم زي كدة:
``` git checkout -b "add-your-name" ```
هتحط اسمك بدل your-name
مثلا:
``` git checkout -b "add-alonzo-church" ```
##
غيّر التغيير اللي حابب تغيره:
التغيير اللي هتغيره فى الحالة دي انك تحط اسمك فى نهاية قايمة الأسماء فى فايل. افتح فايل اسمه "Contributors.md" بالـ text editor المفضل ليك وحط إسمك و إحفظ الفايل. بعد كدة ارجع للترمينال وأكتب الأمر دة git status الأمر دة بيظهر لك أي تغيرات حصلت في المشروع. عشان تضيف التغيرات دي للفرع بتاعك هتستخدم الأمر دا git add.
``` git add Contributors.md ```
حتى الأن انت عندك فرع فيه التغيير، عشان تبعت التغيير دة وتتمه هيتعمل على خطوتين: الأولى انك تعمل للتغيير دة اسم فهتستخدم الأمر git commit.
``` git commit -m "Add to Contributors list" ```
إستبدل <your-name> بإسمك.

##
بعدين ترفع التغييرات - Push changes to Github
هترفع التغييرات عن طريق الأمر git push
``` git push origin "add-your-name" ```
إستبدل <add-your-name> بإسم الفرع اللي انت لسة عامله .

سلم تغيراتك للمراجعة

في صفحة المشروع بتاعك على صفحتك الشخصية على github دوس على زرار Compare & pull request. هو ماكنش ظاهر قبل كدة.
create a pull request
دلوقتي هتسلم طلبك لصاحب المشروع الأساسي عشان يراجع عليه، في الحالة دي الطلب بتاعك هيوصلي.
submit pull request
بعد المراجعة هدمج تغيرراتك للفرع الرئيسي في المشروع. وهيتم تنبيهك عن طريق البريد الإلكتروني بدة.
لما يحصل وأقبل طلبك هتلاقي ان المشروع المنسوخ على حسابك مفيهوش التغيررات. فلازم تزامن المشروع الرئيسي باللي على حسابك بالخطوات دي:
##
طب اعمل ايه بعد كدة؟
احتفل بأول مساهمة ليك، أعمل شير مع صحابك ومتابعينك عن طريق زيارة الموقع دة.
ممكن تنضم للفريق على Slack لو حابب تساعد او عندك أسئلة. إنضم للفريق على Slack

يلا نخليك تبدأ تساهم في مشاريع بجد؟ عملنا قائمة بمشاريع بمشاكل بسيطة ممكن تبدأ بيها النهاردة.
شوف قائمة المشاريع على الموقع.
##
حاجات وأدوات زيادة
##
لو هتستخدم ادوات تانية ممكن تتعلم من هنا
| GitHub Desktop | Visual Studio 2017 | GitKraken | VS Code | Sourcetree App | IntelliJ IDEA | | --- | --- | --- | --- | --- | --- | | [GitHub Desktop](../gui-tool-tutorials/github-desktop-tutorial.md) | [Visual Studio 2017](../gui-tool-tutorials/github-windows-vs2017-tutorial.md) | [GitKraken](../gui-tool-tutorials/gitkraken-tutorial.md) | [Visual Studio Code](../gui-tool-tutorials/github-windows-vs-code-tutorial.md) | [Atlassian Sourcetree](../gui-tool-tutorials/sourcetree-macos-tutorial.md) | [IntelliJ IDEA](../gui-tool-tutorials/github-windows-intellij-tutorial.md) |