- الإنشاء
- التعديلات المحلية
- المؤشر
- للتراجع
- للحذف
- لنقل الملفات
- التفاصيل التاريخية
- مستودع الشفيرة
- للإختصارات والأسماء مسـتعارة
- للتنظيف
$ 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"
شرح لبعض أهم الرموز المتاحة:
الرمز | معناه |
---|---|
%H | هو الرقم الذي يأتي مع commit hash 🔖 commit |
%h | نفس السابق ولكن يعرض بطريقة مختصرة أي عدد محدد من الأرقام |
%an | من قام بعمل التعديلات Author Name 🙋🏻 |
%ae | بريد من قام بالتعديلات Author Email 📧 |
%ar | تاريخ إضافة التعديلات Author Date 📆 |
%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