- الإنشاء
- التعديلات المحلية
- المؤشر
- للتراجع
- للحذف
- لنقل الملفات
- التفاصيل التاريخية
- مستودع الشفيرة
- للإختصارات والأسماء مسـتعارة
- للتنظيف
##الإنشاء
$ 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
$ git stash
$ git stash list
$ git stash apply
: للعـودة لأحـد الحـالات المخزنـة مسـبقاً، فبإمكانـك اسـتخدام الاسـم الـذي يظهـر مـع تلـك الحالـة عنـد القيـام بتنفيـذ الأمـر
$ git stash apply stash@{2}
##المؤشر
$ git tag
$ git tag -l <صيغة معينة>
:مثال على ذلك
$ git tag -l "v1.7*"
$ 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.
$ git tag v1.8.0
$ git show v1.8.0
##للتراجع
$ 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
$ git log -n # n للتوضيح💡 مجرد عدد
:مثال على ذلك
$ git log -2
$ 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
$ git log -S <النص الذي تريده>
:myFunction مثال يوضح البحث عن
$ git log -S myFunction
:أهـم (وليـس كل) الخيـارات التـي تسـاعدك عـلى تحديـد المخرجـات وفـق المعايـر التـي تريدهـا
يعني | الرمز |
---|---|
عرض عدد محدد من المخرجات | -n |
التعديلات بعد تاريخ معين | --since, --after |
التعديلات قبل تاريخ معين | --until, --before |
جلب المخرجات التي تطابق المؤلف | --author |
##مستودع الشفيرة
$ git remote add [remote_name] [remote_URL]
:مثال على ذلك
$ git remote add calc https://github.com/algorithmers/calc
$ git remote -v
: للحصـول عـلى قائمة بالأسماء المسـتعارة أو المـؤشرات التـي تشير لتلـك المسـتودعات بـدون التفاصيـل الأخـرى التـي ترافقهـا
$ git remote
$ 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
$ git fetch [remote-name]
:مثال على ذلك
$ git fetch origin
: رفـع البيانـات أو التعديـلات الجديـدة التـي قـام بهـا المطـور إلى مسـتودع الشـيفرة الموجـود عـلى السيرفر
$ git push [remote-name] [branch-name]
:مثال على ذلك
$ git push origin master
$ git remote show [remote-name]
:مثال على ذلك
$ git remote show origin
$ 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
$ git clean -f -d -x
$ git clean -n -d -x
$ git clean -x -i