Git-Arabic-Cheat-Sheet
الفهرس
- الإنشاء
- التعديلات المحلية
- المؤشر
- للتراجع
- للحذف
- لنقل الملفات
- التفاصيل التاريخية
- مستودع الشفيرة
- للإختصارات والأسماء مسـتعارة
- للتنظيف
##الإنشاء
:لإنشـاء مسـتودع فـارغ
$ git init
##التعديلات المحلية
:لإضافة ملف
$ git add <file_name>
:مثال على ذلك
$ git add home.php
$ git add contact.php
$ git add admin.php
:لإضافة العديد من الملفات
$ git add .
:للتخزيـن الفعـلي للتعديـلات و حفظها
$ git commit -m 'reason here..'
: للتراجـع عـن العمليـات و التعديـلات التـي تقـوم بهـا
$ git commit --amend
:commit مثال يوضح كيفية إضافة ملف بعد عمل
$ git commit -m 'initial commit'
$ git add file.cpp
$ git commit --amend
: لعرض تفاصيل عن حالة الملفات
$ git status
: للحصول على تقرير مختصر عن حالة الملفات
$ git status --short
: للحصول على تقرير مختصر حول حالة المشروع والتعديلات الحالية
$ git status -s
: إلغاء كل التعديلات والعودة للنسخة التي كنت عليها قبل البدء في التعديل
$ git checkout -- <file_name>
:مثال على ذلك
$ git checkout -- file.java
:Commit لحفظ حالة التفرع على ما هي عليه حتى تعود إليها مرة أخرى وتكمل العمل دون أن تحفظ أي
$ git stash
: لمعرفـة قائمة الحـالات التـي قمـت بتخزينهـا لكي تسـاعدك في الرجـوع للحالـة التي تريدها
$ git stash list
:Reapply لعرض قائمة بالحالات التي قمت بتخزينها من قبل و بإمكانك الرجوع لأي منها، أي عمل
$ git stash apply
: للعـودة لأحـد الحـالات المخزنـة مسـبقاً، فبإمكانـك اسـتخدام الاسـم الـذي يظهـر مـع تلـك الحالـة عنـد القيـام بتنفيـذ الأمـر
$ git stash apply stash@{2}
##المؤشر
:Tags لعرض قائمة
$ git tag
:Tags للبحث عن
$ git tag -l <صيغة معينة>
:مثال على ذلك
$ git tag -l "v1.7*"
:Annotated Tag لإنشاء
$ git tag -a v1.8.0 -m 'version 1.8' # للتوضيح💡 Tag name is: v1.8.0, After -m you just write a message that will be saved with the tag.
:Lightweight Tag لإنشاء
$ git tag v1.8.0
:Tag لرؤية تفاصيل أكثر عن
$ git show v1.8.0
##للتراجع
:Unstage للتراجع ولجعل الملف بحالة
$ git reset HEAD <file_name>
:مثال على ذلك
$ git reset HEAD myCode.c
##للحذف
: لحذف ملف وإلغاء متابعته
$ git rm <file_name>
$ git commit -m 'reason here..'
:مثال على ذلك
$ git rm myFile.py
$ git commit -m 'Delete myFile.py 🐍'
:txt in settings folder مثال يوضح كيفية حذف جميع ملفات
$ git rm settings/\*.txt
$ git commit -m 'Delete all .txt files in settings folder'
: لحذف المتابعة مع بقاء الملف نفسه
$ git rm --cached <file_name>
:مثال على ذلك
$ git rm --cached myFile.py
##لنقل الملفات
: لنقل الملف من جلد إلى مجلد
$ git mv <source> <destination>
:base.rb ➡️ lib folder مثال يوضح نقل
$ git mv base.rb lib/base.rb
: ويمكنك إستخدام الأمر لإعادة تسميه ملف
$ git mv <old_file_name> <new_file_name>
:مثال على ذلك
$ git mv core.java base.java
##التفاصيل التاريخية
: لرؤية التفاصيل السابقة للمستودع الذي تعمل عليه
$ git log
:commits لرؤية التفاصيل السابقة للمستودع الذي تعمل عليه ولتحديد عدد
$ git log -n # n للتوضيح💡 مجرد عدد
:مثال على ذلك
$ git log -2
:commits لمعرفة تفاصيل أكثر عن
$ git log -p
: لرؤية عدد من الإحصائيات بشكل مختصر
$ git log -stat
: لعرض المعلومات بطريقة مبسطة وبسطر واحد
$ git log --pretty=oneline
: لتحديـد طريقـة العـرض التـي تريدهـا و المعلومـات التـي تريـد وضعهـا
$ git log --pretty=format:<طريقة العرض التي تريدها>
:مثال على ذلك
$ git log --pretty=format:"%h - %an, %ar"
:شرح لبعض أهم الرموز المتاحة
يعني | الرمز |
---|---|
commit hash 🔖 commit هو الرقم الذي يأتي مع | %H |
نفس السابق ولكن يعرض بطريقة مختصرة أي عدد محدد من الأرقام | %h |
Author Name 🙋🏻 من قام بعمل التعديلات | %an |
Author Email 📧 بريد من قام بالتعديلات | %ae |
Author Date 📆 تاريخ إضافة التعديلات | %ar |
الرسالة أو النص الذي يوضح سبب التعديلات | %s |
: لتحديـد المخرجـات زمنيـاً
$ git log --since=<المدة الزمنية التي تريدها>
:مثال يوضح المدة الزمنية قبل أسبوعين
$ git log --since=2.weeks
:التي في تعديلاتها نص معين commits
$ git log -S <النص الذي تريده>
:myFunction مثال يوضح البحث عن
$ git log -S myFunction
:أهـم (وليـس كل) الخيـارات التـي تسـاعدك عـلى تحديـد المخرجـات وفـق المعايـر التـي تريدهـا
يعني | الرمز |
---|---|
عرض عدد محدد من المخرجات | -n |
التعديلات بعد تاريخ معين | --since, --after |
التعديلات قبل تاريخ معين | --until, --before |
جلب المخرجات التي تطابق المؤلف | --author |
##مستودع الشفيرة
:Remote Repository لإضافة
$ git remote add [remote_name] [remote_URL]
:مثال على ذلك
$ git remote add calc https://github.com/algorithmers/calc
: لمعرفـة المسـتودعات التـي نتعامـل معهـا عن بعد
$ git remote -v
: للحصـول عـلى قائمة بالأسماء المسـتعارة أو المـؤشرات التـي تشير لتلـك المسـتودعات بـدون التفاصيـل الأخـرى التـي ترافقهـا
$ git remote
:Working Directory لنسـخ مسـتودع شـيفرة و جلبـه إلى
$ git clone [repository_URL]
:مثال على ذلك
$ git clone https://github.com/algorithmers/my.git
: تحديـد اسـم خـاص بالمجلـد إذا لم تكـن تريـد الإسم الإفـتراضي
$ git clone [repository_URL] [new-name]
:مثال على ذلك
$ git clone https://github.com/algorithmers/my.git proj
:Remote Repository لجلـب البيانـات الموجـودة في
$ git fetch [remote-name]
:مثال على ذلك
$ git fetch origin
: رفـع البيانـات أو التعديـلات الجديـدة التـي قـام بهـا المطـور إلى مسـتودع الشـيفرة الموجـود عـلى السيرفر
$ git push [remote-name] [branch-name]
:مثال على ذلك
$ git push origin master
:Remote Repository لمعرفـة تفاصيـل أكثر حـول
$ git remote show [remote-name]
:مثال على ذلك
$ git remote show origin
:Server لإعادة تسمية الإسم المختـصر الـذي قمـت بإضافتـه لمسـتودع شـيفرة موجـود عـلى
$ git remote rename [old-remote-name] [new-remote-name]
:مثال على ذلك
$ git remote rename dev devrepo
:لحذف المستودع
$ git remote rm [remote-name]
:مثال على ذلك
$ git remote rm devrepo
##للإختصارات والأسماء مسـتعارة
: لوضـع أسماء مسـتعارة أو مختـصرة لأوامـر كاملـة أو إختصـار لجـزء معين من الأمر
$ git config --global alias.<الأمر الذي تود إختصاره> <الإختصار الذي تريده>
:مثال على ذلك
$ git config --global alias.st status
##للتنظيف
: لتنظيـف و إزالـة الملفـات أو المجلـدات الزائـدة أو التـي لا تحتـاج إليهـا
$ git clean -f -d
: لتنظيـف و إزالـة الملفـات أو المجلـدات الزائـدة مع تزويدك بصـورة عـن مـا سـيتم حذفـه فعليـاً قبـل حذفـه بشـكل فعـلي
$ git clean -n -d
:.gitigonre لحـذف الملفـات و المجلـدات الموجـودة أيضـاً في
$ git clean -f -d -x
: للتحقق مما سيتم حذفه قبل حذفه بشكل فعلي
$ git clean -n -d -x
: للتنظيف و الحذف من خلال الأسلوب التفاعلي
$ git clean -x -i