From c45cb4c815faaa9ac8756d7d7934ab8ad8282aba Mon Sep 17 00:00:00 2001 From: IsraCoder Date: Fri, 26 Jul 2024 14:07:51 +0300 Subject: [PATCH] arabic,first commit --- _data/site.js | 10 ++++++ _redirects | 8 +++++ ar/noswears/index.html | 6 ++++ ar/noswears/partials/footer.njk | 5 +++ ar/noswears/partials/intro.njk | 11 ++++++ ar/noswears/partials/outro.njk | 3 ++ ar/noswears/partials/thanks.njk | 8 +++++ ar/noswears/tips/01-magic-time-machine.md | 27 ++++++++++++++ ar/noswears/tips/02-change-last-commit.md | 23 ++++++++++++ .../tips/03-change-last-commit-message.md | 17 +++++++++ .../tips/04-accidental-commit-master.md | 24 +++++++++++++ .../tips/05-accidental-commit-wrong-branch.md | 35 +++++++++++++++++++ ar/noswears/tips/06-dude-wheres-my-diff.md | 17 +++++++++ ar/noswears/tips/07-undo-a-commit.md | 25 +++++++++++++ ar/noswears/tips/08-undo-a-file.md | 23 ++++++++++++ ar/noswears/tips/20-fuck-this-noise.md | 32 +++++++++++++++++ ar/noswears/tips/tips.json | 1 + ar/swears/index.html | 6 ++++ ar/swears/partials/banner.njk | 2 ++ ar/swears/partials/footer.njk | 5 +++ ar/swears/partials/intro.njk | 11 ++++++ ar/swears/partials/outro.njk | 3 ++ ar/swears/partials/thanks.njk | 8 +++++ ar/swears/tips/01-magic-time-machine.md | 27 ++++++++++++++ ar/swears/tips/02-change-last-commit.md | 23 ++++++++++++ .../tips/03-change-last-commit-message.md | 17 +++++++++ ar/swears/tips/04-accidental-commit-master.md | 24 +++++++++++++ .../tips/05-accidental-commit-wrong-branch.md | 35 +++++++++++++++++++ ar/swears/tips/06-dude-wheres-my-diff.md | 17 +++++++++ ar/swears/tips/07-undo-a-commit.md | 25 +++++++++++++ ar/swears/tips/08-undo-a-file.md | 23 ++++++++++++ ar/swears/tips/20-fuck-this-noise.md | 32 +++++++++++++++++ ar/swears/tips/tips.json | 1 + 33 files changed, 534 insertions(+) create mode 100644 ar/noswears/index.html create mode 100644 ar/noswears/partials/footer.njk create mode 100644 ar/noswears/partials/intro.njk create mode 100644 ar/noswears/partials/outro.njk create mode 100644 ar/noswears/partials/thanks.njk create mode 100644 ar/noswears/tips/01-magic-time-machine.md create mode 100644 ar/noswears/tips/02-change-last-commit.md create mode 100644 ar/noswears/tips/03-change-last-commit-message.md create mode 100644 ar/noswears/tips/04-accidental-commit-master.md create mode 100644 ar/noswears/tips/05-accidental-commit-wrong-branch.md create mode 100644 ar/noswears/tips/06-dude-wheres-my-diff.md create mode 100644 ar/noswears/tips/07-undo-a-commit.md create mode 100644 ar/noswears/tips/08-undo-a-file.md create mode 100644 ar/noswears/tips/20-fuck-this-noise.md create mode 100644 ar/noswears/tips/tips.json create mode 100644 ar/swears/index.html create mode 100644 ar/swears/partials/banner.njk create mode 100644 ar/swears/partials/footer.njk create mode 100644 ar/swears/partials/intro.njk create mode 100644 ar/swears/partials/outro.njk create mode 100644 ar/swears/partials/thanks.njk create mode 100644 ar/swears/tips/01-magic-time-machine.md create mode 100644 ar/swears/tips/02-change-last-commit.md create mode 100644 ar/swears/tips/03-change-last-commit-message.md create mode 100644 ar/swears/tips/04-accidental-commit-master.md create mode 100644 ar/swears/tips/05-accidental-commit-wrong-branch.md create mode 100644 ar/swears/tips/06-dude-wheres-my-diff.md create mode 100644 ar/swears/tips/07-undo-a-commit.md create mode 100644 ar/swears/tips/08-undo-a-file.md create mode 100644 ar/swears/tips/20-fuck-this-noise.md create mode 100644 ar/swears/tips/tips.json diff --git a/_data/site.js b/_data/site.js index b6766624..8caebdcb 100644 --- a/_data/site.js +++ b/_data/site.js @@ -8,6 +8,11 @@ module.exports = { code: "af", arialabel: "Sien die webblad in ander tale", }, + { + label: "العربية", + code: "ar", + arialabel: "اختر لغة أخرى", + }, { label: "বাংলা", code: "bn", @@ -160,6 +165,11 @@ module.exports = { link: "https://github.com/michaeljabotha", lang: "af", }, + { + name: "Isra Zughyer", + link: "https://github.com/Isracoder", + lang: "ar", + }, { name: "Moritz Stückler", link: "https://github.com/pReya", diff --git a/_redirects b/_redirects index fa7cd490..ec726dbe 100644 --- a/_redirects +++ b/_redirects @@ -22,6 +22,14 @@ https://ohshitgit.com/ https://ohshitgit.com/af 302 Language=af https://dangitgit.com/af https://ohshitgit.com/af/noswears/index.html 200! https://dangitgit.com/ https://dangitgit.com/af 302 Language=af +# arabic swears +https://ohshitgit.com/ar https://ohshitgit.com/ar/swears/index.html 200! +https://ohshitgit.com/ https://ohshitgit.com/ar 302 Language=ar + +# arabic no swears +https://dangitgit.com/ar https://ohshitgit.com/ar/noswears/index.html 200! +https://dangitgit.com/ https://dangitgit.com/ar 302 Language=ar + # russian swears https://ohshitgit.com/ru https://ohshitgit.com/ru/swears/index.html 200! https://ohshitgit.com/ https://ohshitgit.com/ru 302 Language=ru diff --git a/ar/noswears/index.html b/ar/noswears/index.html new file mode 100644 index 00000000..0edfb300 --- /dev/null +++ b/ar/noswears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: ar +contentType: noswears +title: ؟! git آخخ يا +--- diff --git a/ar/noswears/partials/footer.njk b/ar/noswears/partials/footer.njk new file mode 100644 index 00000000..f089f0f9 --- /dev/null +++ b/ar/noswears/partials/footer.njk @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/ar/noswears/partials/intro.njk b/ar/noswears/partials/intro.njk new file mode 100644 index 00000000..f80b76d2 --- /dev/null +++ b/ar/noswears/partials/intro.njk @@ -0,0 +1,11 @@ +

+ال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 مدمر لديك +``` + +
diff --git a/ar/swears/tips/tips.json b/ar/swears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/ar/swears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false }