[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
[<img align="right" width="150" src="https://firstcontributions.github.io/assets/Readme/join-slack-team.png">](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)

# <div dir="rtl">مساهمتك الأولى</div>

<div dir="rtl">
الصعوبة متوقعة عندما تبدأ بأي عمل جديد، خصوصاً إذا كان العمل يتضمن أشخاصًا آخرين، مما يجعل الوقوع في الخطأ مزعجًا.
<br>
لكن المساهمة في مشاريع مفتوحة المصدر يتطلب ويتوقع الخطأ ولهذا السبب سيساعدك الآخرون في تصحيح هذا الخطأ.
<br>
في هذا المشروع هدفنا هو تسهيل الطريق لمساهمتك الأولى.
</div>

<div dir="rtl">
قراءة ومتابعة التعليمات المتاحة على الإنترنت ستساعدك بالتأكيد. ومع ذلك، ستستفيد بشكل أكبر إذا استطعت المشاركة في مشروع معين دون الخوف من الوقوع في الأخطاء. يهدف هذا المشروع إلى تقديم توجيهات وإرشادات أولية لمساعدتك في البدء بأول مساهمة لك.

تذكر أن الخطأ أمر متوقع، والهدف الأسمى هو التعلم من هذه البيئة. نشجعك على أن تركز أثناء متابعة الخطوات التالية لإكمال مساهمتك الأولى. نعدك بأنك ستستمتع بالتجربة وسوف تستفيد منها

</div>

<div dir="rtl">
إذا لم يكن لديك git على الجهاز الخاص بك،<a href="https://help.github.com/articles/set-up-git/">قم بتثبيته من هنا</a>
</div>

## <div dir="rtl"> أنشئ تفرّعًا من هذا المشروع - Fork this Repository </div>

<img style="float: left;" width="300" src="https://firstcontributions.github.io/assets/Readme/fork.png" alt="fork this repository" />
<div dir="rtl">
أنشئ تفرّعًا من هذا المشروع بالضغط على زر Fork في أعلى هذه الصفحة.
من خلال ذلك ستنشأ نسخة من هذا المشروع على حسابك الخاص.
</div>

## <div dir="rtl"> استنسخ هذا المشروع - Clone the repository </div>

<img style="float: left;" width="300" src="https://firstcontributions.github.io/assets/Readme/clone.png" alt="clone this repository" />

<div dir="rtl">
استنسخ هذا المشروع على جهازك.
انقر على زر Clone ثم انقر على أيقونة Copy to clipboard
</div>
<img style="float: left;" width="300" src="https://firstcontributions.github.io/assets/Readme/copy-to-clipboard.png" alt="copy URL to clipboard" />
<div dir="rtl">
افتح terminal واكتُب الأمر التالي:
</div>

```
git clone "url you just copied"
```

<div dir="rtl">قم باستبدال "url you just copied" بالرابط الذي نسخته من الخطوة السابقة، هذا الرابط يحتوي على المشروع.</div>

<div dir="rtl">على سبيل المثال:</div>

```
git clone https://github.com/this-is-you/first-contributions.git
```

<div dir="rtl">
في هذا المثال لاحظ 'this-is-you' سيكون اسم حسابك في موقع github يليه رابط المشروع الذي فرقته في أول خطوة، هذا الأمر سينسخ محتويات المشروع على جهازك لتتمكن من التعديل عليه بحرية.
</div>
<br>

## <div dir="rtl"> إنشاء فرع - Create a branch </div>

<div dir="rtl"> انتقل إلى المجلد الذي يحتوي على المشروع عن طريق الأمر التالي: </div>

```
cd first-contributions
```

<div dir="rtl"> الآن قم بإنشاء فرع عن طريق الأمر التالي: </div>

```
git checkout -b "add-your-name"
```

<div dir="rtl">اسمك بدل add-your-name</div>

<div dir="rtl">على سبيل المثال:</div>

```
git checkout -b "add-alonzo-church"
```

<br>

## <div dir="rtl">قم بإجراء التعديلات المطلوبة وأتممها</div></h2>

<div dir="rtl">
الآن قم بفتح الملف "Contributors.md" في محرر النصوص المفضل لديك وأضف اسمك ثم احفظ الملف.
بعد ذلك اذهب إلى terminal واكتب الأمر <code>git status</code>. هذا الأمر سيظهر لك التغييرات التي حدثت في المشروع.
لإضافة هذه التغييرات قم بإضافتها عن طريق هذا الأمر <code>git add</code>.
</div>

```
git add Contributors.md
```

<div dir="rtl">الآن قم بإتمام التغييرات باستخدام الأمر <code>git commit</code>.</div>

```
git commit -m "Add <your-name> to Contributors list"
```

<div dir="rtl"> استبدل <code>&#60;your-name&#62;</code> باسمك. </div>
<br>

## <div dir="rtl"> ارفع التغييرات إلى Push changes to Github - Github </div>

<div dir="rtl">ارفع التغييرات عن طريق الأمر <code>git push</code></div>

```
git push origin "add-your-name"
```

<div dir="rtl">استبدل <code>&#60;add-your-name&#62;</code> باسم الفرع الذي أنشأته من قبل.</div>

<br>
<h2 id="سلم-تغيراتك-للمراجعة"><a name="سلم-تغيراتك-للمراجعة" href="#سلم-تغيراتك-للمراجعة"></a><div dir="rtl">سلم تغيراتك للمراجعة</div></h2>

<div dir="rtl">في صفحة المشروع الخاصة بك يوجد زر <code>Compare &amp; pull request</code>. اضغط على هذا الزر.</div>

<img style="float: left;" src="https://firstcontributions.github.io/assets/Readme/compare-and-pull.png" alt="create a pull request" />

<div dir="rtl">والآن سلم طلبك لتتم مراجعته </div>

<img style="float: left;" src="https://firstcontributions.github.io/assets/Readme/submit-pull-request.png" alt="submit pull request" />

<div dir="rtl">بعد المراجعة سوف أقوم بدمج تغييراتك إلى الفرع الرئيسي في المشروع. سيتم تنبيهك عن طريق البريد الإلكتروني بذلك.</div>

<div dir="rtl">الفرع الرئيسي الخاص بك لن يحتوي على هذه التغييرات. عليك مزامنته مع الفرع الرئيسي عن طريق الخطوات التالية.</div>

## <div dir="rtl">مزامنة نسختك مع المشروع الرئيسي</div>

 <div dir="rtl">الخطوة الأولى، انتقل إلى الفرع الرئيسي.</div>

```
git checkout master
```

 <div dir="rtl">ثانياً، أضف رابط مشروعي كـ<code>upstream remote url</code>.</div>

```
git remote add upstream https://github.com/Roshanjossey/first-contributions
```

<div dir="rtl">بهذه الطريقة نخبر git أن هناك نسخة أخرى من هذا المشروع في هذا الرابط ونسميها <code>upstream</code>.
بعد أن أوافق على تغييراتك، قم بسحب النسخة الجديدة من المشروع عن طريق الأمر التالي:
</div>

```
git fetch upstream
```

<div dir="rtl">هنا سنقوم بسحب جميع التغييرات من <code>(upstream remote)</code>. والآن، عليك أن تدمج التحديثات الجديدة من فرعي إلى فرعك الرئيسي.</div>

```
git rebase upstream/master
```

<div dir="rtl">وهنا تطبق التغييرات إلى الفرع الرئيسي. إذا رفعت التغييرات لفرعك الرئيسي سيتم تحديث مشروعك</div>

```
git push origin master
```

<div dir="rtl">لاحظ أنك ترفع إلى <code>remote</code> اسمه <code>origin</code>.</div>
<br>

## <div dir="rtl">توجيهات بإستخدام أدوات أخرى</div>

| <a href="../gui-tool-tutorials/github-desktop-tutorial.md"><img alt="GitHub Desktop" src="https://desktop.github.com/images/desktop-icon.svg" width="100"></a> | <a href="../gui-tool-tutorials/github-windows-vs2017-tutorial.md"><img alt="Visual Studio 2017" src="https://upload.wikimedia.org/wikipedia/commons/c/cd/Visual_Studio_2017_Logo.svg" width="100"></a> | <a href="../gui-tool-tutorials/gitkraken-tutorial.md"><img alt="GitKraken" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/gitkraken-tutorial/gk-icon.png" width="100"></a> | <a href="../gui-tool-tutorials/github-windows-vs-code-tutorial.md"><img alt="VS Code" src="https://upload.wikimedia.org/wikipedia/commons/1/1c/Visual_Studio_Code_1.35_icon.png" width=100></a> | <a href="../gui-tool-tutorials/sourcetree-macos-tutorial.md"><img alt="Sourcetree App" src="https://wac-cdn.atlassian.com/dam/jcr:81b15cde-be2e-4f4a-8af7-9436f4a1b431/Sourcetree-icon-blue.svg" width=100></a> | <a href="../gui-tool-tutorials/github-windows-intellij-tutorial.md"><img alt="IntelliJ IDEA" src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/IntelliJ_IDEA_Icon.svg/512px-IntelliJ_IDEA_Icon.svg.png" width=100></a> |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [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)                                                                                                                                                          |
