Skip to content

Latest commit

 

History

History
448 lines (326 loc) · 10.1 KB

README.md

File metadata and controls

448 lines (326 loc) · 10.1 KB

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