[![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)
#
مساهمتك الأولى
الصعوبة متوقعة لما تبدأ أي مشروع جديد، خصوصاً لو كان المشروع بيتضمن ناس تانية، ودة بيخلي الوقوع في الخطأ مزعج ومتعب.
لكن المساهمة في مشاريع مفتوحة المصدر اسسها العمل الجماعي والعطاء.
في المشروع دة هدفنا هو تبسيط الطريق لأول مساهمة ليك.
ممكن تقرأ وتتفرج على فيديوهات على الإنترنت عشان تعرف تبدأ فى المساهمة للمشاريع مفتوحة المصدر، لكن هتستفيد أكتر لو عرفت تساهم في مشروع دلوقتي من غير خوف لحسن تعمل حاجة غلط. المشروع اللى انت فاتحه حاليا بيركز انه يوفرلك التوجيهات الأولية اللي هتحتجها عشان تبدأ أول مساهمة ليك. مش مشكلة تغلط المهم انك تتعلم من الغلط ودة الهدف هنا. تابع الخطوات واحدة واحدة ونوعدك انك هتستمتع.
## أفصل المشروع دة - Fork this Repository
خد نسخة من المشروع دة (أو افصله) عن طريق انك تدوس على Fork في أعلى الصفحة.
لو عملت كدة فأنت اخدت نسخة من الفولدر دة فى حسابك على github.
## إنسخ المشروع دة - Clone the repository
انسخ المشروع دة لجهازك.
دوس على Clone بعدين دوس على أيقونة Copy 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
. هو ماكنش ظاهر قبل كدة.
دلوقتي هتسلم طلبك لصاحب المشروع الأساسي عشان يراجع عليه، في الحالة دي الطلب بتاعك هيوصلي.
بعد المراجعة هدمج تغيرراتك للفرع الرئيسي في المشروع. وهيتم تنبيهك عن طريق البريد الإلكتروني بدة.
لما يحصل وأقبل طلبك هتلاقي ان المشروع المنسوخ على حسابك مفيهوش التغيررات. فلازم تزامن المشروع الرئيسي باللي على حسابك بالخطوات دي:
## طب اعمل ايه بعد كدة؟
احتفل بأول مساهمة ليك، أعمل شير مع صحابك ومتابعينك عن طريق زيارة
الموقع دة.
يلا نخليك تبدأ تساهم في مشاريع بجد؟ عملنا قائمة بمشاريع بمشاكل بسيطة ممكن تبدأ بيها النهاردة.
##
## لو هتستخدم ادوات تانية ممكن تتعلم من هنا
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| [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) |