الإعداد والضبط ⤢ git configيعيّن اسمك أو بريدك أو محررك مرة واحدة لكل المستودعات. git config --global user.name "Ada" ⤢ git config --global aliasيحدد اسمًا مختصرًا لأمر تكتبه كثيرًا. git config --global alias.co checkout ⤢ git initينشئ مستودعًا جديدًا في المجلد الحالي. git init ⤢ git cloneينسخ مستودعًا بعيدًا إلى جهازك. git clone git@github.com:org/repo.git ⤢ git clone --depthينسخ أحدث الالتزامات لفرع واحد فقط. git clone --depth 1 --single-branch git@github.com:org/repo.git أساسيات اللقطات ⤢ git statusيعرض ما هو محضر وما هو معدل وغير متتبع. git status -sb ⤢ git addيحضر التغييرات لتدخل الالتزام القادم. git add src/app.ts ⤢ git add -pراجع التغييرات جزءًا جزءًا وحضر ما تقبله فقط. git add -p src/app.ts ⤢ git add -uيحضر تغييرات كل الملفات المتتبعة دون إضافة ملفات جديدة. git add -u ⤢ git commitيسجل التغييرات المحضرة كالتزام جديد. git commit -m "fix: null check" ⤢ git commit --amendيستبدل آخر التزام بنسخة مصححة. git commit --amend -m "fix: handle empty input" ⤢ git diffيعرض التغييرات غير المحضرة، أو المحضرة مع --staged. git diff --staged ⤢ git diff HEADيعرض كل تغيير منذ آخر التزام، محضرًا كان أم لا. git diff HEAD التفريع والدمج ⤢ git branchيعرض الفروع أو ينشئها أو يحذفها. git branch feature-x ⤢ git branch -dيحذف فرعًا مدموجًا (-D يجبر الحذف، و-a يعرض كل الفروع). git branch -d feature-x ⤢ git switchبدّل الفروع (البديل الحديث للأمر checkout). git switch feature-x ⤢ git switch -cينشئ فرعًا جديدًا وينتقل إليه في خطوة واحدة. git switch -c feature-x ⤢ git checkoutبدّل الفروع أو استعد الملفات (الأمر الأقدم والأوسع). git checkout feature-x ⤢ git mergeيجلب تغييرات فرع آخر إلى الفرع الحالي. git merge feature-x ⤢ git merge --abortيلغي دمجًا متضاربًا ويعيد الفرع إلى حالته السابقة. git merge --abort ⤢ git rebaseيعيد تشغيل التزامات الفرع الحالي فوق فرع آخر. git rebase main ⤢ git rebase -iادمج الالتزامات أو أعد ترتيبها أو حررها أثناء إعادة تشغيلها. git rebase -i main ⤢ git cherry-pickينسخ التزامًا واحدًا من فرع آخر إلى هذا الفرع. git cherry-pick a1b2c3d ⤢ git tagيوسم التزامًا بعلامة مقروءة مثل رقم إصدار. git tag -a v1.2.0 ⤢ git worktreeيفحص فرعًا آخر في مجلد منفصل في الوقت نفسه. git worktree add ../repo-feature feature-x فحص السجل ⤢ git logيتنقل عبر سجل الالتزامات. git log --oneline --graph --decorate ⤢ git log --allيتنقل عبر سجل كل الفروع، لا الفرع الحالي فقط. git log --oneline --graph --all ⤢ git showيعرض الفرق الكامل ورسالة التزام واحد. git show HEAD ⤢ git blameيعرض من غير كل سطر من الملف آخر مرة. git blame src/app.ts ⤢ git reflogيعرض كل التزام أشار إليه HEAD، بما فيها المتروكة. git reflog ⤢ git bisectيبحث في السجل بالتنصيف لإيجاد الالتزام الذي كسر شيئًا. git bisect start ⤢ git shortlogيلخص الالتزامات حسب المؤلف. git shortlog -sn ⤢ git describeيسمي الالتزام الحالي بالعد من أقرب وسم. git describe --tags التعاون عبر المستودعات البعيدة ⤢ git remoteيعرض المستودعات البعيدة أو يضيفها. git remote add origin <url> ⤢ git remote -vيعرض البعيد مع عناوين الجلب والدفع. git remote -v ⤢ git fetchينزل التغييرات البعيدة دون تغيير فروعك. git fetch origin ⤢ git fetch --pruneينزل التغييرات البعيدة ويسقط مراجع الفروع البعيدة المحذوفة. git fetch --prune ⤢ git pullينزل تغييرات الفرع البعيد الحالي ويدمجها. git pull --rebase ⤢ git pushيرسل الالتزامات المحلية إلى المستودع البعيد. git push -u origin feature-x ⤢ git push --force-with-leaseيستبدل الفرع البعيد، لكن فقط إن لم يدفع أحد قبلك. git push --force-with-lease origin feature-x التراجع عن التغييرات ⤢ git restoreيتخلص من تغييرات شجرة العمل، أو يلغي تحضيرها. git restore src/app.ts ⤢ git restore --stagedيلغي تحضير ملف ويبقي تعديلاته في شجرة العمل. git restore --staged src/app.ts ⤢ git resetينقل طرف الفرع الحالي والفهرس اختياريًا. git reset --hard HEAD~1 ⤢ git revertيضيف التزامًا جديدًا يتراجع عن التزام سابق (آمن للمشاركة). git revert HEAD ⤢ git cleanيحذف الملفات والمجلدات غير المتتبعة. git clean -fd الحفظ المؤقت (stash) ⤢ git stashيحفظ العمل غير الملتزم ويعيد ضبط شجرة العمل. git stash -u ⤢ git stash listيعرض كل ما حفظته من عناصر stash. git stash list ⤢ git stash applyيعيد تطبيق عنصر stash ويبقيه محفوظًا. git stash apply stash@{1} ⤢ git stash dropيحذف عنصر stash لم تعد بحاجته. git stash drop stash@{1} ⤢ git stash popيعيد تطبيق أحدث عنصر stash ويحذفه. git stash pop الملفات والوحدات الفرعية ⤢ git mvينقل ملفًا أو يعيد تسميته ويحضر التغيير. git mv old.ts src/new.ts ⤢ git rmيحذف ملفًا ويحضر الحذف. git rm src/old.ts ⤢ git submoduleيتتبع مستودعًا آخر كمجلد داخل هذا المستودع. git submodule add git@github.com:org/lib.git lib ⤢ git sparse-checkoutيفحص فقط المجلدات التي تسميها من مستودع كبير. git sparse-checkout set src docs ⤢ git archiveيصدر شجرة التزام كملف tar أو zip. git archive -o repo.zip HEAD