[![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 في أعلى هذه الصفحة. من خلال ذلك ستنشأ نسخة من هذا المشروع على حسابك الخاص.
##
استنسخ هذا المشروع - Clone the repository
clone this repository
استنسخ هذا المشروع على جهازك. انقر على زر Clone ثم انقر على أيقونة Copy to clipboard
copy URL to clipboard
افتح terminal وأُكتب الأمر التالي:
``` 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" ```
اسمك بدل add-your-name
على سبيل المثال:
``` git checkout -b "add-alonzo-church" ```
##
قم بإجراء التعديلات المطلوبة وأتممها
الآن قم بفتح الملف "Contributors.md" في محرر النصوص المفضل لديك وأضف اسمك ثم احفظ الملف. بعد ذلك اذهب إلى terminal واكتب الأمر هذاgit status هذا الأمر سيظهر لك التغيرات التي حدثت في المشروع. لإضافة هذه التغييرات قم بإضافتها عن طريق هذا الأمر git add.
``` git add Contributors.md ```
الآن قم بإتمام التغييرات باستخدام الأمر git commit.
``` git commit -m "Add to Contributors list" ```
استبدل <your-name> باسمك.

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

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

في صفحة المشروع الخاصة بك يوجد زر Compare & pull request. اضغط على هذا الزر.
create a pull request
والآن سلم طلبك لتتم مراجعته
submit pull request
بعد المراجعة سوف أقوم بدمج تغيرراتك إلى الفرع الرئيسي في المشروع. سيتم تنبيهك عن طريق البريد الإلكتروني بذلك.
الفرع الرئيسي الخاص بك لن يحتوي على هذه التغيررات. عليك مزامنته مع الفرع الرئيس عن طريق الخطوات التالية.
##
مزامنة نسختك مع المشروع الرئيسي
الخطوة الأولى، انتقل إلى الفرع الرئيس.
``` git checkout master ```
ثانياً، أضف رابط مشروعي كـupstream remote url.
``` git remote add upstream https://github.com/Roshanjossey/first-contributions ```
بهذه الطريقة نخبر git أن هناك نسخة أخرى من هذا المشروع في هذا الرابط ونسميها upstream. بعد أن أوافق على تغيرراتك، قم بسحب النسخة الجديدة من المشروع عن طريق الأمر التالي:
``` git fetch upstream ```
هنا سنقوم بسحب جميع التغييرات من (upstream remote). والآن، عليك أن تدمج التحديثات الجديدة من فرعي إلى فرعك الرئيس.
``` git rebase upstream/master ```
وهنا تطبق التغييرات إلى الفرع الرئيسي. إذا رفعت التغييرات لفرعك الرئيسي سيتم تحديث مشروعك
``` git push origin master ```
لاحظ أنك ترفع إلى remote اسمه origin.

##
توجيهات بإستخدام أدوات أخرى
| 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) |