+الgit صعب : التعثر سهل, و معرفة كيفية اصلاح اخطائك مستحيل.التوثيق ل git تتمثل فيه مشكلة الدجاجة و البيضة , بحيث لا تستطيع البحث عن كيفية اخراج نفسك من المأزق
+الا اذا كنت تعلم اسم الحل الازم
+حتى تحل مشكلتك.
+
+
+
+
+ لذا فهذه هي مجموعة من المواقف السيئة وضعت نفسي بها و كيف تمكنت بنهاية المطاف اخراج نفسي منها.
+باللغة العربية الواضحة.
+
diff --git a/ar/noswears/partials/outro.njk b/ar/noswears/partials/outro.njk
new file mode 100644
index 00000000..daaf1d93
--- /dev/null
+++ b/ar/noswears/partials/outro.njk
@@ -0,0 +1,3 @@
+
+ملاحظة : هذا الموقع ليس معنياً بأن يكون مرجع متكامل, و نعم هناك طرق أخرى لفعل الأمور نفسها بطرق نقية منسجمة مع النظرية الصحيحة أو اياً كان , لكنني توصلت الى هذه الخطوات عن طريق التجربة و الخطأ و الكثير من الشتم و قلب للطاولات , و كانت لدي هذه الفكرة بأن اشاركهم معكم بالإضافة إلى القليل من الفكاهة. خذه او اتركه كما تريد !
+
\ No newline at end of file
diff --git a/ar/noswears/partials/thanks.njk b/ar/noswears/partials/thanks.njk
new file mode 100644
index 00000000..d4661df6
--- /dev/null
+++ b/ar/noswears/partials/thanks.njk
@@ -0,0 +1,8 @@
+
+
شكراً لكل من ساهم وتطوع لترجمة الموقع إلى لغات أخرى , انتم حقا رائعون!
+{% include "partials/collaborator-list.njk" %}.
+:مع المساعدة الإضافية من
+{% include "partials/otherhelper-list.njk" %}
+
+
+
{% github_link %} اذا أردت أن تساعد و تضيف ترجمة إلى لغتك , قدم طلب عن طريق
diff --git a/ar/noswears/tips/01-magic-time-machine.md b/ar/noswears/tips/01-magic-time-machine.md
new file mode 100644
index 00000000..57233eee
--- /dev/null
+++ b/ar/noswears/tips/01-magic-time-machine.md
@@ -0,0 +1,27 @@
+---
+tags: tip
+title:
يا للهراء , لقد اخطأت كثيراً , ارجوك اخبرني انه يوجد في git طريقة سحرية للانتقال عبر الزمن !؟
+id: آلة-زمن-سحرية
+order: 1
+---
+
+
+
+```git
+git reflog
+# سوف ترى قائمة تحوي كل التغيرات
+# branches على نطاق جميع ال, git في
+# لكل منها يوجد index HEAD@{index}
+# لذا اختر المناسبة التي تم حفظها
+# قبل ان دمرت كل شيء,ثم
+git reset HEAD@{index}
+# الة تغيير الزمن السحرية !
+```
+
+تستطيع ان تستخدم هذا لاسترجاع ما حذفته خطأً, أو لمجرد ازالة بعض الامور التي جربتها و افسدت ال repo
+أو للتعافي بعد merge خاطئ
+أو حتى الرجوع إلى نقطة في الزمن كان كل شيء يعمل .
+أنا استخدم "reflog" كثيراً
+فلذا ارفع قبعتي مرات عدة احتراماً لكل من اقترح اضافته!
+
+
diff --git a/ar/noswears/tips/02-change-last-commit.md b/ar/noswears/tips/02-change-last-commit.md
new file mode 100644
index 00000000..a8c2f8a3
--- /dev/null
+++ b/ar/noswears/tips/02-change-last-commit.md
@@ -0,0 +1,23 @@
+---
+tags: tip
+title:
يا للهراء ,لقد حفظت ثم أدركت على الفور أني أحتاج أن أغير شيء واحد صغير
+id: غير-الحفظ-الأخير
+order: 2
+---
+
+
+
+```git
+# اجري تعديلاتك
+. git add
+# أو اضف ملفات مخصصة
+git commit --amend --no-edit
+# اﻵن اخر commit يحوي التغيرات
+# تحذير: لا تعدل ابداً ال public commits
+```
+
+هذا يحدث لي بالعادة عندما اقوم بعمل commit ثم اجري ال tests , و يا للازعاج, الاحظ اني لم اضع فراغاً بعد اشارة تساوي. تستطيع ايضاً أن تجري التغيير ك commit جديد ثم تقوم بعمل `rebase -i` حتى تضغطهم الاثنين معاً , لكن هذا بالتقريب أسرع بمليون مرة.
+
+_تحذير : لا يجب ابداً أن تعدل ال commits التي تم عمل push لها الى public/shared branch ! فقط اجري تعديلات على commits تتواجد فقط في نسختك المحلية وإلا سيعود عليك ذلك بالعاواقب..._
+
+
diff --git a/ar/noswears/tips/03-change-last-commit-message.md b/ar/noswears/tips/03-change-last-commit-message.md
new file mode 100644
index 00000000..9043198c
--- /dev/null
+++ b/ar/noswears/tips/03-change-last-commit-message.md
@@ -0,0 +1,17 @@
+---
+tags: tip
+title:
يا للهراء,احتاج إلى أن أغير الرسالة على آخر commit لدي !
+id: غير-رسالة-الحفظ-الأخيرة
+order: 3
+---
+
+
+
+```git
+git commit --amend
+# اتبع التوجيهات لتغيير الرسالة
+```
+
+متطلبات تنسيق رسالة commit غبية
+
+
diff --git a/ar/noswears/tips/04-accidental-commit-master.md b/ar/noswears/tips/04-accidental-commit-master.md
new file mode 100644
index 00000000..34501ab1
--- /dev/null
+++ b/ar/noswears/tips/04-accidental-commit-master.md
@@ -0,0 +1,24 @@
+---
+tags: tip
+title:
يا للهراء, لقد حفظت commit على ال master وكان يجب ان تكون على branch جديدة !
+id: حفظ-خاطئ-عند-الأساس
+order: 4
+---
+
+
+
+```git
+# انشئ branch جديدة بناء على حالة
+# ال master الحالية
+git branch some-new-branch-name
+# ازل اخر commit من ال master
+git reset HEAD~ --hard
+git checkout some-new-branch-name
+# الآن ال commit متواجد في هذا ال branch :)
+```
+
+ملاحظة : هذا لا يعمل إن كنت قد قمت بعمل push لل commit إلى public/shared branch , و ايضاً اذا حاولت امور اخرى اولاً , ربما قد تحتاج
+إلى أن تقوم بعمل`git reset HEAD@{x}`
+بدلا من `HEAD~` يحيث أن x تمثل عدد ال commits إلى الوراء. مأساة لانهائية. أيضاً, العديد العديد العديد من الاشخاص اقترحوأ طريقة رائعة لجعل هذا اقصر لم أكن اعلمها أنا , لذا شكراً جميعاً!
+
+
diff --git a/ar/noswears/tips/05-accidental-commit-wrong-branch.md b/ar/noswears/tips/05-accidental-commit-wrong-branch.md
new file mode 100644
index 00000000..f37d5eba
--- /dev/null
+++ b/ar/noswears/tips/05-accidental-commit-wrong-branch.md
@@ -0,0 +1,35 @@
+---
+tags: tip
+title:
يا للهراء, لقد قمت بعمل commit على ال branch الخاطئة!
+id: حفظ-في-غصن-خاطئ
+order: 5
+---
+
+
+
+```git
+# لإزالة آخر commit مع المحافظة على التغيرات في البرنامح
+git reset HEAD~ --soft
+git stash
+# الانتقال إلى ال branch الصحيحة
+git checkout name-of-the-correct-branch
+git stash pop
+# ضف الملفات كلها أو بعض منها
+git add .
+git commit -m "your message here"
+# الآن تم حفظ التغيرات على ال branch الصحيحة
+
+```
+
+الكثير من الناس اقترحوا استخدام `cherry-pick` لحل هذه المشكلة أيضاً, لذا اختر الذي تراه مناسباً لك!
+
+```git
+git checkout name-of-the-correct-branch
+# اختر اخر commit من ال master
+git cherry-pick master
+# ثم احذفه من master
+git checkout master
+git reset HEAD~ --hard
+```
+
+
diff --git a/ar/noswears/tips/06-dude-wheres-my-diff.md b/ar/noswears/tips/06-dude-wheres-my-diff.md
new file mode 100644
index 00000000..74749eb6
--- /dev/null
+++ b/ar/noswears/tips/06-dude-wheres-my-diff.md
@@ -0,0 +1,17 @@
+---
+tags: tip
+title:
يا للهراء, حاولت تنفيذ أمر diff لكن لم يحدث شيئاً!
+id: أين-الاختلاف
+order: 6
+---
+
+
+اذا كنت تعلم أنك اجريت التعديلات على الملفات , لكن 'diff' نتيجته فارغة , على الارجح قمت بعمل 'add' لملفاتك إلى منطقة ال staging و تحتاج ان تسخدم أمر خاص
+
+```git
+git diff --staged
+```
+
+¯\\\_(ツ)\_/¯ (نعم, أعلم أن هذه خاصية و ليست خطأ لكنه مربك و غير واصح عند أول مرة يحدث اليك!)
+
+
diff --git a/ar/noswears/tips/07-undo-a-commit.md b/ar/noswears/tips/07-undo-a-commit.md
new file mode 100644
index 00000000..66b98c4f
--- /dev/null
+++ b/ar/noswears/tips/07-undo-a-commit.md
@@ -0,0 +1,25 @@
+---
+tags: tip
+title:
يا للهراء, احتاج إلى أن أقوم بإلغاء commit سابق يوجد بعده 5 commits !
+id: الغاء-حفظ
+order: 7
+---
+
+
+
+```git
+# جد ال commit الذي تريد ازالته
+git log
+# استخدم الاسهم على لوحة المفاتيح للتنقل
+# عند ايجادك ال commit المرغوب قم بحفظ رمزه الخاص أي ال hash
+git revert [saved hash]
+# سوف ينشئ git الآن commit جديدة تلغي ال commit الذي اخترتها
+# تتبع الخطوات لتعديل رسالة ال commit
+# أو احفظ وقم بعمل commit
+```
+
+تبين أنه لا حاجة لك إلى أن تبحث عن متحوى الملفات السابقة و تقوم بنسخها و لصقها حتى تزيل التغيرات! أذا قمت بعمل commit لشيء خاطئ أو bug, تستطيع أن تلغي ال commit مرة واحدة باستخدام `revert`.
+
+تستطيع أيضاً أن تقوم بعمل revert لملف واحد بدلاً من commit بأكمله! لكن بالطبع, بطبيعة git الرائعة,هذه مجموعة مختلفة كلياً من الآوامر...
+
+
diff --git a/ar/noswears/tips/08-undo-a-file.md b/ar/noswears/tips/08-undo-a-file.md
new file mode 100644
index 00000000..1719449c
--- /dev/null
+++ b/ar/noswears/tips/08-undo-a-file.md
@@ -0,0 +1,23 @@
+---
+tags: tip
+title:
يا للهراء,أريد أن ألغي التغيرات التي أجريتها على ملف!
+id: اعادة-حالة-الملف
+order: 8
+---
+
+
+
+```git
+# جد hash لأحد ال commits قبل أن تم تغيير الملف
+git log
+# انتقل إلى الأعلى و الأسفل عبر مفاتيح الأسهم
+# عند ايجادك ال commit قم بحفظ ال hash
+git checkout [saved hash] --path/to/file
+# اﻵن النسخة القديمة من الملف ستكون في البرنامج
+git commit -m "wow, you don't need to copy and paste"
+```
+
+عندما اكتشفت كيفية فعل هذا الأمر كان شيئاً ضخماً. ضخماً. ض-خ-م-اً. لكن حقاً, على أي كوكب يكون أمر checkout حل منطقي لإزالة التغيرات على ملف؟
+:النظر-بتضجر-إلى-linus torvalds:
+
+
diff --git a/ar/noswears/tips/20-fuck-this-noise.md b/ar/noswears/tips/20-fuck-this-noise.md
new file mode 100644
index 00000000..b7a6f0bd
--- /dev/null
+++ b/ar/noswears/tips/20-fuck-this-noise.md
@@ -0,0 +1,32 @@
+---
+tags: tip
+title:
انسى هذا الازعاج, أنا أستسلم
+id: انسى-هذا-الازعاج
+note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it
+order: 20
+---
+
+```git
+cd ..
+sudo rm -r stupid-git-repo-dir
+git clone https://some.github.url/stupid-git-repo-dir.git
+cd stupid-git-repo-dir
+```
+
+
+
+شكراً ل Eric.V على هذه , أي شكاوى عن كيفية استخدام `sudo` في هذه النكتة تستطيعون أن توجهوها اليه.
+
+لكن حقاً, إذا كانت ال branch خاصتك مدمرة لدرجة أنك تحتاج أن تعيد حالة ال repo لتكون مماثلة لل remote repo بطريقة "موافقة-منgit" , جرب هذا , لكن احذر فهي خطوات مدمرة و لا يستطيع التراجع عنها!
+
+```git
+# احضر النسخة الأخيرة من ال origin
+git fetch origin
+git checkout master
+git reset --hard origin/master
+# احذف الملفات و المجلدات غير المحفوظة من قبل git
+git clean -d --force
+# اعد خطوات checkout/reset/clean لكل branch مدمر لديك
+```
+
+
diff --git a/ar/noswears/tips/tips.json b/ar/noswears/tips/tips.json
new file mode 100644
index 00000000..d0b2aa62
--- /dev/null
+++ b/ar/noswears/tips/tips.json
@@ -0,0 +1 @@
+{ "permalink": false }
diff --git a/ar/swears/index.html b/ar/swears/index.html
new file mode 100644
index 00000000..d0f5d07d
--- /dev/null
+++ b/ar/swears/index.html
@@ -0,0 +1,6 @@
+---
+layout: layouts/page.njk
+locale: ar
+contentType: swears
+title: ؟! git تباً
+---
diff --git a/ar/swears/partials/banner.njk b/ar/swears/partials/banner.njk
new file mode 100644
index 00000000..514e5665
--- /dev/null
+++ b/ar/swears/partials/banner.njk
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/ar/swears/partials/footer.njk b/ar/swears/partials/footer.njk
new file mode 100644
index 00000000..795a3c47
--- /dev/null
+++ b/ar/swears/partials/footer.njk
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/ar/swears/partials/intro.njk b/ar/swears/partials/intro.njk
new file mode 100644
index 00000000..f80b76d2
--- /dev/null
+++ b/ar/swears/partials/intro.njk
@@ -0,0 +1,11 @@
+
+الgit صعب : التعثر سهل, و معرفة كيفية اصلاح اخطائك مستحيل.التوثيق ل git تتمثل فيه مشكلة الدجاجة و البيضة , بحيث لا تستطيع البحث عن كيفية اخراج نفسك من المأزق
+الا اذا كنت تعلم اسم الحل الازم
+حتى تحل مشكلتك.
+
+
+
+
+ لذا فهذه هي مجموعة من المواقف السيئة وضعت نفسي بها و كيف تمكنت بنهاية المطاف اخراج نفسي منها.
+باللغة العربية الواضحة.
+
diff --git a/ar/swears/partials/outro.njk b/ar/swears/partials/outro.njk
new file mode 100644
index 00000000..7104709e
--- /dev/null
+++ b/ar/swears/partials/outro.njk
@@ -0,0 +1,3 @@
+
+ملاحظة : هذا الموقع ليس معنياً بأن يكون مرجع متكامل, و نعم هناك طرق أخرى لفعل الأمور نفسها بطرق نقية منسجمة مع النظرية الصحيحة أو اياً كان , لكنني توصلت الى هذه الخطوات عن طريق التجربة و الخطأ و الكثير من الشتم و قلب للطاولات , و كانت لدي هذه الفكرة بأن اشاركهم معكم بالإضافة إلى القليل من الفكاهة و الشتائم. خذه او اتركه كما تشاء !
+
\ No newline at end of file
diff --git a/ar/swears/partials/thanks.njk b/ar/swears/partials/thanks.njk
new file mode 100644
index 00000000..d4661df6
--- /dev/null
+++ b/ar/swears/partials/thanks.njk
@@ -0,0 +1,8 @@
+
+
شكراً لكل من ساهم وتطوع لترجمة الموقع إلى لغات أخرى , انتم حقا رائعون!
+{% include "partials/collaborator-list.njk" %}.
+:مع المساعدة الإضافية من
+{% include "partials/otherhelper-list.njk" %}
+
+
+
{% github_link %} اذا أردت أن تساعد و تضيف ترجمة إلى لغتك , قدم طلب عن طريق
diff --git a/ar/swears/tips/01-magic-time-machine.md b/ar/swears/tips/01-magic-time-machine.md
new file mode 100644
index 00000000..401bc456
--- /dev/null
+++ b/ar/swears/tips/01-magic-time-machine.md
@@ -0,0 +1,27 @@
+---
+tags: tip
+title:
تباً , لقد اخطأت كثيراً , ارجوك اخبرني انه يوجد في git طريقة سحرية للانتقال عبر الزمن !؟
+id: آلة-زمن-سحرية
+order: 1
+---
+
+
+
+```git
+git reflog
+# سوف ترى قائمة تحوي كل التغيرات
+# branches على نطاق جميع ال, git في
+# لكل منها يوجد index HEAD@{index}
+# لذا اختر المناسبة التي تم حفظها
+# قبل ان دمرت كل شيء,ثم
+git reset HEAD@{index}
+# الة تغيير الزمن السحرية !
+```
+
+تستطيع ان تستخدم هذا لاسترجاع ما حذفته خطأً, أو لمجرد ازالة بعض الامور التي جربتها و افسدت ال repo
+أو للتعافي بعد merge خاطئ
+أو حتى الرجوع إلى نقطة في الزمن كان كل شيء يعمل .
+أنا استخدم "reflog" كثيراً
+فلذا ارفع قبعتي مرات عدة احتراماً لكل من اقترح اضافته!
+
+
diff --git a/ar/swears/tips/02-change-last-commit.md b/ar/swears/tips/02-change-last-commit.md
new file mode 100644
index 00000000..cd312966
--- /dev/null
+++ b/ar/swears/tips/02-change-last-commit.md
@@ -0,0 +1,23 @@
+---
+tags: tip
+title:
تباً ,لقد حفظت ثم أدركت على الفور أني أحتاج أن أغير شيء واحد صغير
+id: غير-الحفظ-الأخير
+order: 2
+---
+
+
+
+```git
+# اجري تعديلاتك
+. git add
+# أو اضف ملفات مخصصة
+git commit --amend --no-edit
+# اﻵن اخر commit يحوي التغيرات
+# تحذير: لا تعدل ابداً ال public commits
+```
+
+هذا يحدث لي بالعادة عندما اقوم بعمل commit ثم اجري ال tests , و يا للازعاج, الاحظ اني لم اضع فراغاً بعد اشارة تساوي. تستطيع ايضاً أن تجري التغيير ك commit جديد ثم تقوم بعمل `rebase -i` حتى تضغطهم الاثنين معاً , لكن هذا بالتقريب أسرع بمليون مرة.
+
+_تحذير : لا يجب ابداً أن تعدل ال commits التي تم عمل push لها الى public/shared branch ! فقط اجري تعديلات على commits تتواجد فقط في نسختك المحلية وإلا سيعود عليك ذلك بالعاواقب..._
+
+
diff --git a/ar/swears/tips/03-change-last-commit-message.md b/ar/swears/tips/03-change-last-commit-message.md
new file mode 100644
index 00000000..e149fc40
--- /dev/null
+++ b/ar/swears/tips/03-change-last-commit-message.md
@@ -0,0 +1,17 @@
+---
+tags: tip
+title:
تباً,احتاج إلى أن أغير الرسالة على آخر commit لدي !
+id: غير-رسالة-الحفظ-الأخيرة
+order: 3
+---
+
+
+
+```git
+git commit --amend
+# اتبع التوجيهات لتغيير الرسالة
+```
+
+متطلبات تنسيق رسالة commit غبية
+
+
diff --git a/ar/swears/tips/04-accidental-commit-master.md b/ar/swears/tips/04-accidental-commit-master.md
new file mode 100644
index 00000000..9e7da83c
--- /dev/null
+++ b/ar/swears/tips/04-accidental-commit-master.md
@@ -0,0 +1,24 @@
+---
+tags: tip
+title:
تباً, لقد حفظت commit على ال master وكان يجب ان تكون على branch جديدة !
+id: حفظ-خاطئ-عند-الأساس
+order: 4
+---
+
+
+
+```git
+# انشئ branch جديدة بناء على حالة
+# ال master الحالية
+git branch some-new-branch-name
+# ازل اخر commit من ال master
+git reset HEAD~ --hard
+git checkout some-new-branch-name
+# الآن ال commit متواجد في هذا ال branch :)
+```
+
+ملاحظة : هذا لا يعمل إن كنت قد قمت بعمل push لل commit إلى public/shared branch , و ايضاً اذا حاولت امور اخرى اولاً , ربما قد تحتاج
+إلى أن تقوم بعمل`git reset HEAD@{x}`
+بدلا من `HEAD~` يحيث أن x تمثل عدد ال commits إلى الوراء. مأساة لانهائية. أيضاً, العديد العديد العديد من الاشخاص اقترحوأ طريقة رائعة لجعل هذا اقصر لم أكن اعلمها أنا , لذا شكراً جميعاً!
+
+
diff --git a/ar/swears/tips/05-accidental-commit-wrong-branch.md b/ar/swears/tips/05-accidental-commit-wrong-branch.md
new file mode 100644
index 00000000..bf7e1288
--- /dev/null
+++ b/ar/swears/tips/05-accidental-commit-wrong-branch.md
@@ -0,0 +1,35 @@
+---
+tags: tip
+title:
تباً, لقد قمت بعمل commit على ال branch الخاطئة!
+id: حفظ-في-غصن-خاطئ
+order: 5
+---
+
+
+
+```git
+# لإزالة آخر commit مع المحافظة على التغيرات في البرنامح
+git reset HEAD~ --soft
+git stash
+# الانتقال إلى ال branch الصحيحة
+git checkout name-of-the-correct-branch
+git stash pop
+# ضف الملفات كلها أو بعض منها
+git add .
+git commit -m "your message here"
+# الآن تم حفظ التغيرات على ال branch الصحيحة
+
+```
+
+الكثير من الناس اقترحوا استخدام `cherry-pick` لحل هذه المشكلة أيضاً, لذا اختر الذي تراه مناسباً لك!
+
+```git
+git checkout name-of-the-correct-branch
+# اختر اخر commit من ال master
+git cherry-pick master
+# ثم احذفه من master
+git checkout master
+git reset HEAD~ --hard
+```
+
+
diff --git a/ar/swears/tips/06-dude-wheres-my-diff.md b/ar/swears/tips/06-dude-wheres-my-diff.md
new file mode 100644
index 00000000..1f5e587f
--- /dev/null
+++ b/ar/swears/tips/06-dude-wheres-my-diff.md
@@ -0,0 +1,17 @@
+---
+tags: tip
+title:
تباً, حاولت تنفيذ أمر diff لكن لم يحدث شيئاً!
+id: أين-الاختلاف
+order: 6
+---
+
+
+اذا كنت تعلم أنك اجريت التعديلات على الملفات , لكن 'diff' نتيجته فارغة , على الارجح قمت بعمل 'add' لملفاتك إلى منطقة ال staging و تحتاج ان تسخدم أمر خاص
+
+```git
+git diff --staged
+```
+
+¯\\\_(ツ)\_/¯ (نعم, أعلم أن هذه خاصية و ليست خطأ لكنه محير إلى حد الشتم و غير واصح عند أول مرة يحدث اليك!)
+
+
diff --git a/ar/swears/tips/07-undo-a-commit.md b/ar/swears/tips/07-undo-a-commit.md
new file mode 100644
index 00000000..277c231e
--- /dev/null
+++ b/ar/swears/tips/07-undo-a-commit.md
@@ -0,0 +1,25 @@
+---
+tags: tip
+title:
تباً,احتاج إلى أن أقوم بإلغاء commit سابق يوجد بعده 5 commits !
+id: الغاء-حفظ
+order: 7
+---
+
+
+
+```git
+# جد ال commit الذي تريد ازالته
+git log
+# استخدم الاسهم على لوحة المفاتيح للتنقل
+# عند ايجادك ال commit المرغوب قم بحفظ رمزه الخاص أي ال hash
+git revert [saved hash]
+# سوف ينشئ git الآن commit جديدة تلغي ال commit الذي اخترتها
+# تتبع الخطوات لتعديل رسالة ال commit
+# أو احفظ وقم بعمل commit
+```
+
+تبين أنه لا حاجة لك إلى أن تبحث عن متحوى الملفات السابقة و تقوم بنسخها و لصقها حتى تزيل التغيرات! أذا قمت بعمل commit لشيء خاطئ أو bug, تستطيع أن تلغي ال commit مرة واحدة باستخدام `revert`.
+
+تستطيع أيضاً أن تقوم بعمل revert لملف واحد بدلاً من commit بأكمله! لكن بالطبع, بطبيعة git الرائعة,هذه مجموعة مختلفة كلياً من الآوامر اللعينة...
+
+
diff --git a/ar/swears/tips/08-undo-a-file.md b/ar/swears/tips/08-undo-a-file.md
new file mode 100644
index 00000000..c5c57ef7
--- /dev/null
+++ b/ar/swears/tips/08-undo-a-file.md
@@ -0,0 +1,23 @@
+---
+tags: tip
+title:
تباً,أريد أن ألغي التغيرات التي أجريتها على ملف!
+id: اعادة-حالة-الملف
+order: 8
+---
+
+
+
+```git
+# جد hash لأحد ال commits قبل أن تم تغيير الملف
+git log
+# انتقل إلى الأعلى و الأسفل عبر مفاتيح الأسهم
+# عند ايجادك ال commit قم بحفظ ال hash
+git checkout [saved hash] --path/to/file
+# اﻵن النسخة القديمة من الملف ستكون في البرنامج
+git commit -m "wow, you don't need to copy and paste"
+```
+
+عندما اكتشفت كيفية فعل هذا الأمر كان شيئاً ضخماً. ضخماً. ض-خ-م-اً. لكن حقاً, على أي كوكب لعين يكون أمر checkout حل منطقي لإزالة التغيرات على ملف؟
+:النظر-بتضجر-إلى-linus torvalds:
+
+
diff --git a/ar/swears/tips/20-fuck-this-noise.md b/ar/swears/tips/20-fuck-this-noise.md
new file mode 100644
index 00000000..931b3029
--- /dev/null
+++ b/ar/swears/tips/20-fuck-this-noise.md
@@ -0,0 +1,32 @@
+---
+tags: tip
+title:
تباً لهذا الازعاج, أنا أستسلم
+id: انسى-هذا-الازعاج
+note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it
+order: 20
+---
+
+```git
+cd ..
+sudo rm -r fucking-git-repo-dir
+git clone https://some.github.url/fucking-git-repo-dir.git
+cd fucking-git-repo-dir
+```
+
+
+
+شكراً ل Eric.V على هذه , أي شكاوى عن كيفية استخدام `sudo` في هذه النكتة تستطيعون أن توجهوها اليه.
+
+لكن حقاً, إذا كانت ال branch خاصتك مدمرة لدرجة أنك تحتاج أن تعيد حالة ال repo لتكون مماثلة لل remote repo بطريقة "موافقة-منgit" , جرب هذا , لكن احذر فهي خطوات مدمرة و لا يستطيع التراجع عنها!
+
+```git
+# احضر النسخة الأخيرة من ال origin
+git fetch origin
+git checkout master
+git reset --hard origin/master
+# احذف الملفات و المجلدات غير المحفوظة من قبل git
+git clean -d --force
+# اعد خطوات checkout/reset/clean لكل branch مدمر لديك
+```
+
+