- ملخص
- الوصف
- الخيارات
- أوامر Git
- الأوامر عالية المستوى (الواجهة)
- أوامر منخفضة المستوى (أوامر أساسية)
- أدلة
- واجهات المستودع والأوامر والملفات
- تنسيقات الملفات والبروتوكولات وواجهات المطور الأخرى
- آلية التهيئة
- مصطلحات المعرفات
- المعرفات الرمزية
- هيكل الملف/الدليل
- المصطلحات
- متغيرات البيئة
- مناقشة
- الأمان
- المزيد من الوثائق
- المؤلفون
- الإبلاغ عن الأخطاء
- انظر أيضًا
- GIT
- ملاحظات
git - متعقب المحتوى الغبي
ملخص
git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
الوصف
Git هو نظام تحكم بالإصدارات سريع وقابل للتطوير وموزع، يتميز بمجموعة أوامر غنية بشكل غير عادي توفر عمليات عالية المستوى وإمكانية الوصول الكامل إلى الوظائف الداخلية.
راجع gittutorial(7) للبدء، ثم راجع giteveryday(7) للحصول على مجموعة مفيدة من الأوامر الأساسية. يحتوي دليل مستخدم Git[1] على مقدمة أكثر تفصيلاً.
بعد إتقانك للمفاهيم الأساسية، يمكنك العودة إلى هذه الصفحة لمعرفة الأوامر التي يقدمها Git. يمكنك معرفة المزيد حول أوامر Git الفردية باستخدام "git help command". يوفر لك دليل gitcli(7) نظرة عامة على بناء جملة الأوامر في سطر الأوامر.
يمكن عرض نسخة منسقة ومرتبطة من أحدث وثائق Git على
https://git.github.io/htmldocs/git.html أو https://git-scm.com/docs.
الخيارات
-v, --version
يطبع إصدار مجموعة Git التي جاء منها برنامج git.
يتم تحويل هذا الخيار داخليًا إلى git version ... ويقبل نفس الخيارات الموجودة في الأمر git-version(1). إذا تم إعطاء الخيار --help أيضًا، فسيكون له الأسبقية على --version.
-h, --help
يطبع الملخص وقائمة الأوامر الأكثر شيوعًا. إذا تم إعطاء الخيار --all أو -a، فسيتم طباعة جميع الأوامر المتاحة. إذا تم تحديد أمر Git، فسيؤدي هذا الخيار إلى عرض صفحة الدليل لهذا الأمر.
تتوفر خيارات أخرى للتحكم في كيفية عرض صفحة الدليل. راجع git-help(1) لمزيد من المعلومات، لأن git --help ... يتم تحويله داخليًا إلى git help ....
-C <path>
قم بتشغيله كما لو تم تشغيل git في
يؤثر هذا الخيار على الخيارات التي تتوقع اسم مسار مثل --git-dir و --work-tree بحيث يتم تفسير أسماء المسارات بالنسبة إلى الدليل العامل الناتج عن خيار -C. على سبيل المثال، تكون الاستدعاءات التالية متكافئة:
git --git-dir=a.git --work-tree=b -C c status
git --git-dir=c/a.git --work-tree=c/b status
-c <name>=<value>
مرر معلمة تكوين إلى الأمر. سيؤدي إعطاء القيمة إلى تجاوز القيم من ملفات التكوين. من المتوقع أن يكون
لاحظ أن حذف علامة المساواة (=) في git -c foo.bar ... مسموح به ويُعيِّن foo.bar إلى القيمة المنطقية true (تمامًا كما يفعل [foo]bar في ملف التكوين). يتضمن علامة المساواة ولكن بقيمة فارغة (مثل git -c foo.bar= ...) يُعيِّن foo.bar إلى سلسلة فارغة، والتي سيحوّلها git config --type=bool إلى false.
^ -config-env=<name>=<envvar>
مثل -c <name>=<value>، يمنح متغير التكوين <name> قيمة، حيث <envvar> هو اسم متغير البيئة الذي سيتم استرداد القيمة منه. على عكس -c، لا توجد طريقة مختصرة لتعيين القيمة مباشرةً إلى سلسلة فارغة، وبدلاً من ذلك، يجب تعيين متغير البيئة نفسه إلى سلسلة فارغة. سيكون هناك خطأ إذا لم يكن <envvar> موجودًا في البيئة. لا يمكن أن يحتوي <envvar> على علامة مساواة لتجنب الغموض مع احتواء <name> عليها.
هذا مفيد للحالات التي تريد فيها تمرير خيارات تكوين عابرة إلى git، ولكنك تفعل ذلك على أنظمة تشغيل قد تتمكن فيها العمليات الأخرى من قراءة سطر الأوامر الخاص بك (مثل /proc/self/cmdline)، ولكن ليس بيئتك (مثل /proc/self/environ). هذا هو السلوك الافتراضي على Linux، ولكن قد لا يكون كذلك على نظامك.
لاحظ أن هذا قد يضيف أمانًا للمتغيرات مثل http.extraHeader حيث تكون المعلومات الحساسة جزءًا من القيمة، ولكن ليس على سبيل المثال url.<base>.insteadOf حيث يمكن أن تكون المعلومات الحساسة جزءًا من المفتاح.
^ -exec-path[=<path>]
المسار إلى المكان الذي تم فيه تثبيت برامج Git الأساسية. يمكن أيضًا التحكم في هذا عن طريق تعيين متغير البيئة GIT_EXEC_PATH. إذا لم يتم إعطاء مسار، فستطبع git الإعداد الحالي ثم تخرج.
^ -html-path
اطبع المسار، بدون شرطة مائلة في النهاية، حيث تم تثبيت مستندات Git بتنسيق HTML واخرج.
^ -man-path
اطبع مسار man (انظر man(1)) لصفحات man لهذا الإصدار من Git واخرج.
^ -info-path
اطبع المسار حيث تم تثبيت ملفات Info التي توثق هذا الإصدار من Git واخرج.
^ p, --paginate
قم بتمرير جميع المخرجات إلى less (أو إذا تم تعيينها، $PAGER) إذا كان المخرج القياسي عبارة عن طرفية. هذا يتجاوز خيارات pager.<cmd> للتكوين (انظر قسم "آلية التكوين" أدناه).
^ P, --no-pager
لا تقم بتمرير مخرجات Git إلى أداة تصفح الصفحات.
^ -git-dir=<path>
عيِّن المسار إلى المستودع (دليل ".git"). يمكن أيضًا التحكم في هذا عن طريق تعيين متغير البيئة GIT_DIR. يمكن أن يكون مسارًا مطلقًا أو مسارًا نسبيًا إلى دليل العمل الحالي.
يؤدي تحديد موقع دليل ".git" باستخدام هذا الخيار (أو متغير البيئة GIT_DIR) إلى إيقاف تشغيل اكتشاف المستودع الذي يحاول العثور على دليل يحتوي على دليل فرعي ".git" (وهذه هي الطريقة التي يتم بها اكتشاف المستودع وأعلى مستوى من شجرة العمل)، ويخبر git أنك في أعلى مستوى من شجرة العمل. إذا لم تكن في الدليل العلوي لشجرة العمل، فيجب أن تخبر git بمكان وجود الدليل العلوي لشجرة العمل، باستخدام الخيار --work-tree=<path> (أو متغير البيئة GIT_WORK_TREE).
إذا كنت ترغب فقط في تشغيل git كما لو تم تشغيله في <path>، فاستخدم git -C <path>.
--work-tree=<path>
عيّن المسار إلى شجرة العمل. يمكن أن يكون مسارًا مطلقًا أو مسارًا نسبيًا إلى الدليل الحالي. يمكن أيضًا التحكم في هذا عن طريق تعيين متغير البيئة GIT_WORK_TREE ومتغير التكوين core.worktree (راجع core.worktree في gitconfig(1) للحصول على مناقشة أكثر تفصيلاً).
--namespace=<path>
عيّن مساحة اسم Git. راجع gitnamespaces(7) لمزيد من التفاصيل. يعادل تعيين متغير البيئة GIT_NAMESPACE.
--bare
تعامل مع المستودع كمستودع "bare". إذا لم يتم تعيين متغير البيئة GIT_DIR، فسيتم تعيينه إلى الدليل الحالي.
--no-replace-objects
لا تستخدم مرجعيات الاستبدال لاستبدال كائنات Git. هذا يعادل تصدير متغير البيئة GIT_NO_REPLACE_OBJECTS بأي قيمة. راجع git-replace(1) لمزيد من المعلومات.
--no-lazy-fetch
لا تجلب الكائنات المفقودة من الريموت "المُعد" عند الطلب. مفيد مع git cat-file -e <object\> لمعرفة ما إذا كان الكائن متاحًا محليًا. هذا يعادل تعيين متغير البيئة GIT_NO_LAZY_FETCH إلى 1.
--no-optional-locks
لا تقم بإجراء عمليات اختيارية تتطلب أقفالًا. هذا يعادل تعيين GIT_OPTIONAL_LOCKS إلى 0.
--no-advice
تعطيل جميع تلميحات النصيحة من الطباعة.
--literal-pathspecs
تعامل مع تحديدات المسار حرفيًا (أي لا يوجد globing، ولا يوجد سحر تحديد المسار). هذا يعادل تعيين متغير البيئة GIT_LITERAL_PATHSPECS إلى 1.
--glob-pathspecs
أضف سحر "glob" إلى جميع تحديدات المسار. هذا يعادل تعيين متغير البيئة GIT_GLOB_PATHSPECS إلى 1. يمكن تعطيل globing على تحديدات المسار الفردية باستخدام سحر تحديد المسار ":(literal)".
--noglob-pathspecs
أضف سحر "literal" إلى جميع تحديدات المسار. هذا يعادل تعيين متغير البيئة GIT_NOGLOB_PATHSPECS إلى 1. يمكن تمكين globing على تحديدات المسار الفردية باستخدام سحر تحديد المسار ":(glob)".
--icase-pathspecs
أضف سحر "icase" إلى جميع تحديدات المسار. هذا يعادل تعيين متغير البيئة GIT_ICASE_PATHSPECS إلى 1.
--list-cmds=<group>[,<group>...]
سرد الأوامر حسب المجموعة. هذا خيار داخلي/تجريبي وقد يتغير أو تتم إزالته في المستقبل. المجموعات المدعومة هي: builtins، parseopt (الأوامر المضمنة التي تستخدم parse-options)، main (جميع الأوامر في دليل libexec)، others (جميع الأوامر الأخرى في $PATH التي تحتوي على بادئة git-)، list-<category> (راجع الفئات في command-list.txt)، nohelpers (استبعاد أوامر المساعدة)، alias و config (استرداد قائمة الأوامر من متغير التكوين completion.commands).
--attr-source=<tree-ish>
اقرأ ملفات gitattributes من <tree-ish> بدلاً من شجرة العمل. راجع gitattributes(5). هذا يعادل تعيين متغير البيئة GIT_ATTR_SOURCE.
أوامر Git
نقوم بتقسيم Git إلى أوامر عالية المستوى ("porcelain") وأوامر منخفضة المستوى ("plumbing").
الأوامر عالية المستوى (الواجهة)
نحن نقسم الأوامر إلى قسمين رئيسيين: الأوامر الرئيسية وبعض الأدوات المساعدة للمستخدم.
الأوامر الرئيسية
git-add(1)
أضف محتويات الملف إلى الفهرس.
git-am(1)
طبّق سلسلة من التصحيحات من صندوق بريد.
git-archive(1)
أنشئ أرشيفًا للملفات من شجرة محددة.
git-backfill(1)
قم بتنزيل الكائنات المفقودة في نسخة جزئية.
git-bisect(1)
استخدم البحث الثنائي للعثور على الالتزام الذي أدخل خطأً.
git-branch(1)
اعرض أو أنشئ أو احذف الفروع.
git-bundle(1)
انقل الكائنات والإشارات عن طريق الأرشيف.
git-checkout(1)
بدّل بين الفروع أو استرجع ملفات شجرة العمل.
git-cherry-pick(1)
طبّق التغييرات التي أدخلتها بعض الالتزامات الموجودة.
git-citool(1)
واجهة رسومية بديلة لـ git-commit.
git-clean(1)
أزل الملفات غير المتعقبة من شجرة العمل.
git-clone(1)
استنسخ مستودعًا إلى دليل جديد.
git-commit(1)
سجل التغييرات في المستودع.
git-describe(1)
أعطِ كائنًا اسمًا قابلاً للقراءة من قبل الإنسان بناءً على مرجع متاح.
git-diff(1)
اعرض التغييرات بين الالتزامات أو بين الالتزام وشجرة العمل، إلخ.
git-fetch(1)
قم بتنزيل الكائنات والإشارات من مستودع آخر.
git-format-patch(1)
جهز التصحيحات لإرسالها عبر البريد الإلكتروني.
git-gc(1)
نظّف الملفات غير الضرورية وحسّن المستودع المحلي.
git-grep(1)
اطبع الأسطر التي تطابق نمطًا.
git-gui(1)
واجهة رسومية محمولة لـ Git.
git-init(1)
أنشئ مستودع Git فارغًا أو أعد تهيئة مستودع موجود.
git-log(1)
اعرض سجلات الالتزام.
git-maintenance(1)
نفّذ مهامًا لتحسين بيانات مستودع Git.
git-merge(1)
ادمج تاريخين أو أكثر من تاريخ التطوير.
git-mv(1)
انقل أو أعد تسمية ملف أو دليل أو رابط رمزي.
git-notes(1)
أضف أو افحص ملاحظات الكائنات.
git-pull(1)
استرجع من وادمج مع مستودع آخر أو فرع محلي.
git-push(1)
حدّث المراجع البعيدة مع الكائنات المرتبطة بها.
git-range-diff(1)
قارن بين نطاقي التزام (على سبيل المثال، نسختان من فرع).
git-rebase(1)
أعد تطبيق الالتزامات فوق رأس قاعدة آخر.
git-reset(1)
أعد تعيين HEAD الحالي إلى الحالة المحددة.
git-restore(1)
استرجع ملفات شجرة العمل.
git-revert(1)
اعكس بعض الالتزامات الموجودة.
git-rm(1)
أزل الملفات من شجرة العمل ومن الفهرس.
git-shortlog(1)
لخّص مخرجات git log.
git-show(1)
اعرض أنواعًا مختلفة من الكائنات.
git-sparse-checkout(1)
قلّل من حجم شجرة العمل الخاصة بك إلى مجموعة فرعية من الملفات التي يتم تتبعها.
git-stash(1)
قم بتخزين التغييرات في دليل عمل غير مُحدّث.
git-status(1)
اعرض حالة شجرة العمل.
git-submodule(1)
هيئ أو حدّث أو افحص الوحدات الفرعية.
git-switch(1)
بدّل بين الفروع.
git-tag(1)
أنشئ أو اعرض أو احذف أو تحقق من كائن علامة موقع عليه باستخدام GPG.
git-worktree(1)
أدر العديد من أشجار العمل.
gitk(1)
متصفح مستودع Git.
scalar(1)
أداة لإدارة مستودعات Git الكبيرة.
الأوامر المساعدة
المعالجات:
git-config(1)
احصل على وتعامل مع خيارات المستودع أو الخيارات العامة.
git-fast-export(1)
مصدر بيانات Git.
git-fast-import(1)
الواجهة الخلفية لمستوردات بيانات Git السريعة.
git-filter-branch(1)
إعادة كتابة الفروع.
git-mergetool(1)
تشغيل أدوات حل تعارض الدمج لحل تعارضات الدمج.
git-pack-refs(1)
تجميع الرؤوس والعلامات للوصول الفعال إلى المستودع.
git-prune(1)
إزالة جميع الكائنات التي لا يمكن الوصول إليها من قاعدة بيانات الكائنات.
git-reflog(1)
إدارة معلومات سجل المراجع.
git-refs(1)
الوصول منخفض المستوى إلى المراجع.
git-remote(1)
إدارة مجموعة المستودعات المتعقبة.
git-repack(1)
تجميع الكائنات غير المجمعة في مستودع.
git-replace(1)
إنشاء قائمة وحذف المراجع لاستبدال الكائنات.
المُستقصِيات:
git-annotate(1)
تذييل أسطر الملف بمعلومات الالتزام.
git-blame(1)
عرض آخر مراجعة ومؤلف قام بتعديل كل سطر من الملف.
git-bugreport(1)
جمع المعلومات التي يمكن للمستخدم استخدامها لتقديم تقرير عن خطأ.
git-count-objects(1)
حساب عدد الكائنات غير المجمعة واستهلاكها من مساحة القرص.
git-diagnose(1)
إنشاء أرشيف مضغوط من معلومات التشخيص.
git-difftool(1)
عرض التغييرات باستخدام أدوات المقارنة الشائعة.
git-fsck(1)
التحقق من اتصال وصلاحية الكائنات في قاعدة البيانات.
git-help(1)
عرض معلومات المساعدة حول Git.
git-instaweb(1)
تصفح مستودعك العامل على الفور في gitweb.
git-merge-tree(1)
تنفيذ الدمج دون لمس الفهرس أو شجرة العمل.
git-rerere(1)
إعادة استخدام الحل المسجل لحالات الدمج المتعارضة.
git-show-branch(1)
عرض الفروع والتزاماتها.
git-verify-commit(1)
التحقق من توقيع GPG للالتزامات.
git-verify-tag(1)
التحقق من توقيع GPG للعلامات.
git-version(1)
عرض معلومات الإصدار حول Git.
git-whatchanged(1)
عرض السجلات مع الفروق التي يقدمها كل التزام.
gitweb(1)
واجهة ويب Git (واجهة أمامية لـ Git للمستودعات).
التفاعل مع الآخرين
تُستخدم هذه الأوامر للتفاعل مع أنظمة التحكم في الإصدار الأجنبية ومع الآخرين عبر البريد الإلكتروني.
git-archimport(1)
استيراد مستودع GNU Arch إلى Git.
git-cvsexportcommit(1)
تصدير التزام واحد إلى منطقة عمل CVS.
git-cvsimport(1)
استرجاع بياناتك من نظام تحكم في الإصدار آخر يحبه الناس ويكرهونه.
git-cvsserver(1)
محاكي خادم CVS لـ Git.
git-imap-send(1)
إرسال مجموعة من التصحيحات من الإدخال القياسي إلى مجلد IMAP.
git-p4(1)
الاستيراد من وإلى مستودعات Perforce.
git-quiltimport(1)
تطبيق مجموعة تصحيحات Quilt على الفرع الحالي.
git-request-pull(1)
إنشاء ملخص للتغييرات المعلقة.
git-send-email(1)
إرسال مجموعة من التصحيحات عبر رسائل البريد الإلكتروني.
git-svn(1)
عملية ثنائية الاتجاه بين مستودع Subversion و Git.
إعادة الضبط والاستعادة والتراجع
هناك ثلاثة أوامر بأسماء متشابهة: git reset و git restore و git revert.
git-revert(1) يتعلق بإنشاء التزام جديد يقوم بعكس التغييرات التي أجراها التزامات أخرى.
git-restore(1) يتعلق باستعادة الملفات في شجرة العمل إما من الفهرس أو من التزام آخر.
لا يقوم هذا الأمر بتحديث فرعك. يمكن أيضًا استخدام الأمر لاستعادة الملفات في الفهرس من التزام آخر.
git-reset(1) يتعلق بتحديث فرعك، وتحريك الطرف من أجل إضافة أو إزالة التزامات من الفرع.
يقوم هذا الإجراء بتغيير سجل الالتزام.
يمكن أيضًا استخدام الأمر `git reset` لاستعادة الفهرس، مما يتداخل مع الأمر `git restore`.
أوامر منخفضة المستوى (أوامر أساسية)
على الرغم من أن Git يتضمن طبقة أوامر خاصة به، إلا أن أوامره منخفضة المستوى كافية لدعم تطوير طبقات أوامر بديلة. قد يبدأ المطورون لهذه الطبقات البديلة بقراءة حول الأمر git-update-index(1) والأمر git-read-tree(1).
الواجهة (المدخلات والمخرجات ومجموعة الخيارات والدلالات) لهذه الأوامر منخفضة المستوى مصممة لتكون أكثر استقرارًا من أوامر الطبقة الخاصة به، لأن هذه الأوامر مخصصة بشكل أساسي للاستخدام النصي. من ناحية أخرى، تخضع واجهة أوامر الطبقة الخاصة به للتغيير من أجل تحسين تجربة المستخدم.
يقسم الوصف التالي الأوامر منخفضة المستوى إلى أوامر تتعامل مع الكائنات (في المستودع والفهرس وشجرة العمل)، والأوامر التي تستعلم عن الكائنات وتقارنها، والأوامر التي تنقل الكائنات والمراجع بين المستودعات.
أوامر المعالجة
git-apply(1)
تطبيق تصحيح على الملفات و/أو الفهرس.
git-checkout-index(1)
نسخ الملفات من الفهرس إلى شجرة العمل.
git-commit-graph(1)
كتابة والتحقق من ملفات commit-graph في Git.
git-commit-tree(1)
إنشاء كائن التزام جديد.
git-hash-object(1)
حساب معرّف الكائن وإنشاء كائن من ملف اختياريًا.
git-index-pack(1)
إنشاء ملف فهرس الحزمة لأرشيف الحزم الموجود.
git-merge-file(1)
تشغيل دمج ملفات ثلاثي الاتجاهات.
git-merge-index(1)
تشغيل دمج للملفات التي تحتاج إلى دمج.
git-mktag(1)
إنشاء كائن علامة مع التحقق الإضافي.
git-mktree(1)
إنشاء كائن شجرة من نص بتنسيق ls-tree.
git-multi-pack-index(1)
كتابة والتحقق من ملفات multi-pack-index.
git-pack-objects(1)
إنشاء أرشيف حزم للكائنات.
git-prune-packed(1)
إزالة الكائنات الإضافية الموجودة بالفعل في ملفات الحزم.
git-read-tree(1)
قراءة معلومات الشجرة في الفهرس.
git-replay(1)
تجريبي: إعادة تشغيل الالتزامات على قاعدة جديدة، ويعمل أيضًا مع المستودعات الفارغة.
git-symbolic-ref(1)
قراءة وتعديل وحذف المراجع الرمزية.
git-unpack-objects(1)
فك ضغط الكائنات من أرشيف الحزم.
git-update-index(1)
تسجيل محتويات الملفات في شجرة العمل في الفهرس.
git-update-ref(1)
تحديث اسم الكائن المخزن في مرجع بأمان.
git-write-tree(1)
إنشاء كائن شجرة من الفهرس الحالي.
أوامر الاستعلام
git-cat-file(1)
توفير محتويات أو تفاصيل كائنات المستودع.
git-cherry(1)
العثور على الالتزامات التي لم يتم تطبيقها بعد على المستوى الأعلى.
git-diff-files(1)
مقارنة الملفات في شجرة العمل والفهرس.
git-diff-index(1)
مقارنة شجرة بالشجرة العاملة أو الفهرس.
git-diff-pairs(1)
مقارنة محتوى ووضع أزواج الكائنات.
git-diff-tree(1)
مقارنة محتوى ووضع الكائنات الموجودة عبر كائنين للشجرة.
git-for-each-ref(1)
إخراج معلومات حول كل مرجع.
git-for-each-repo(1)
تشغيل أمر Git في قائمة المستودعات.
git-get-tar-commit-id(1)
استخراج معرّف الالتزام من الأرشيف الذي تم إنشاؤه باستخدام git-archive.
git-ls-files(1)
عرض معلومات حول الملفات الموجودة في الفهرس وشجرة العمل.
git-ls-remote(1)
عرض المراجع في مستودع بعيد.
git-ls-tree(1)
عرض محتويات كائن الشجرة.
git-merge-base(1)
ابحث عن أفضل الأسلاف المشتركين قدر الإمكان لعملية دمج.
git-name-rev(1)
ابحث عن أسماء رمزية للإصدارات المحددة.
git-pack-redundant(1)
ابحث عن ملفات الحزم الزائدة.
git-rev-list(1)
يعرض كائنات الالتزام بترتيب زمني عكسي.
git-rev-parse(1)
اختر المعلمات وقم بتعديلها.
git-show-index(1)
عرض فهرس الأرشيف المعبأ.
git-show-ref(1)
عرض المراجع في مستودع محلي.
git-unpack-file(1)
ينشئ ملفًا مؤقتًا بمحتويات الكائن.
git-var(1)
عرض متغير منطقي لـ Git.
git-verify-pack(1)
تحقق من صحة ملفات أرشيف Git المعبأة.
بشكل عام، لا تتلاعب الأوامر المذكورة أعلاه بالملفات الموجودة في شجرة العمل.
مزامنة المستودعات
git-daemon(1)
خادم بسيط للغاية لمستودعات Git.
git-fetch-pack(1)
استقبل الكائنات المفقودة من مستودع آخر.
git-http-backend(1)
تنفيذ من جانب الخادم لـ Git عبر HTTP.
git-send-pack(1)
ادفع الكائنات عبر بروتوكول Git إلى مستودع آخر.
git-update-server-info(1)
قم بتحديث ملف المعلومات المساعدة لمساعدة الخوادم "الغبية".
الأوامر التالية هي أوامر مساعدة تستخدمها الأوامر المذكورة أعلاه؛ عادةً لا يستخدم المستخدمون النهائيون هذه الأوامر مباشرةً.
git-http-fetch(1)
قم بتنزيل من مستودع Git بعيد عبر HTTP.
git-http-push(1)
ادفع الكائنات عبر HTTP/DAV إلى مستودع آخر.
git-receive-pack(1)
استقبل ما يتم دفعه إلى المستودع.
git-shell(1)
وحدة تحكم تسجيل دخول مقيدة للوصول إلى Git فقط عبر SSH.
git-upload-archive(1)
أرسل الأرشيف مرة أخرى إلى git-archive.
git-upload-pack(1)
أرسل الكائنات المعبأة مرة أخرى إلى git-fetch-pack.
أوامر مساعدة داخلية
هذه أوامر مساعدة داخلية تستخدمها أوامر أخرى؛ عادةً لا يستخدم المستخدمون النهائيون هذه الأوامر مباشرةً.
git-check-attr(1)
عرض معلومات gitattributes.
git-check-ignore(1)
تصحيح أخطاء ملفات gitignore / exclude.
git-check-mailmap(1)
عرض الأسماء وعناوين البريد الإلكتروني القياسية للجهات الاتصال.
git-check-ref-format(1)
يضمن أن اسم المرجع جيد التكوين.
git-column(1)
عرض البيانات في أعمدة.
git-credential(1)
استرجع وقم بتخزين بيانات اعتماد المستخدم.
git-credential-cache(1)
مساعد لتخزين كلمات المرور مؤقتًا في الذاكرة.
git-credential-store(1)
مساعد لتخزين بيانات الاعتماد على القرص.
git-fmt-merge-msg(1)
قم بإنشاء رسالة التزام الدمج.
git-hook(1)
قم بتشغيل خطافات git.
git-interpret-trailers(1)
أضف أو قم بتحليل المعلومات المنظمة في رسائل الالتزام.
git-mailinfo(1)
يستخرج التصحيح والمؤلف من رسالة بريد إلكتروني واحدة.
git-mailsplit(1)
برنامج تقسيم mbox بسيط لنظام UNIX.
git-merge-one-file(1)
برنامج المساعدة القياسي الذي سيتم استخدامه مع git-merge-index.
git-patch-id(1)
احسب معرفًا فريدًا للتصحيح.
git-sh-i18n(1)
رمز إعداد i18n لـ Git لبرامج shell.
git-sh-setup(1)
رمز الإعداد الشائع لبرامج shell لـ Git.
git-stripspace(1)
قم بإزالة المسافات البيضاء غير الضرورية.
أدلة
تصف صفحات التوثيق التالية مفاهيم Git.
gitcore-tutorial(7)
برنامج تعليمي أساسي لـ Git للمطورين.
gitcredentials(7)
توفير أسماء المستخدمين وكلمات المرور لـ Git.
gitcvs-migration(7)
Git لمستخدمي CVS.
gitdiffcore(7)
تعديل إخراج `diff`.
giteveryday(7)
مجموعة مفيدة من الأوامر الأساسية للاستخدام اليومي لـ Git.
gitfaq(7)
الأسئلة المتداولة حول استخدام Git.
gitglossary(7)
مسرد مصطلحات Git.
gitnamespaces(7)
نطاقات Git.
gitremote-helpers(7)
برامج مساعدة للتفاعل مع المستودعات البعيدة.
gitsubmodules(7)
تضمين مستودع داخل مستودع آخر.
gittutorial(7)
مقدمة تعليمية لـ Git.
gittutorial-2(7)
مقدمة تعليمية لـ Git: الجزء الثاني.
gitworkflows(7)
نظرة عامة على سير العمل الموصى بها مع Git.
واجهات المستودع والأوامر والملفات
تتناول هذه الوثائق واجهات المستودعات والأوامر التي من المتوقع أن يتفاعل معها المستخدمون مباشرة. راجع --user-formats في git-help(1) لمزيد من التفاصيل حول المعايير.
gitattributes(5)
تحديد السمات لكل مسار.
gitcli(7)
واجهة سطر الأوامر لـ Git والاصطلاحات.
githooks(5)
الخطافات المستخدمة بواسطة Git.
gitignore(5)
يحدد الملفات التي لا يتم تتبعها عمدًا والتي يجب تجاهلها.
gitmailmap(5)
تعيين أسماء/عناوين بريد إلكتروني للمؤلف/المرسل.
gitmodules(5)
تحديد خصائص الوحدة الفرعية.
gitrepository-layout(5)
تخطيط مستودع Git.
gitrevisions(7)
تحديد المراجعات والنطاقات لـ Git.
تنسيقات الملفات والبروتوكولات وواجهات المطور الأخرى
تتناول هذه الوثائق تنسيقات الملفات والبروتوكولات عبر الشبكة وواجهات مطور Git الأخرى. راجع --developer-interfaces في git-help(1).
gitformat-bundle(5)
تنسيق ملف الحزمة.
gitformat-chunk(5)
تنسيقات الملفات المستندة إلى الأجزاء.
gitformat-commit-graph(5)
تنسيق رسم بياني لالتزام Git.
gitformat-index(5)
تنسيق فهرس Git.
gitformat-pack(5)
تنسيق حزمة Git.
gitformat-signature(5)
تنسيقات التوقيعات المشفرة لـ Git.
gitprotocol-capabilities(5)
إمكانيات البروتوكول v0 و v1.
gitprotocol-common(5)
الأشياء المشتركة بين البروتوكولات المختلفة.
gitprotocol-http(5)
بروتوكولات HTTP المستندة إلى Git.
gitprotocol-pack(5)
كيف يتم نقل الحزم عبر الشبكة.
gitprotocol-v2(5)
بروتوكول الشبكة لـ Git، الإصدار 2.
آلية التهيئة
يستخدم Git تنسيق نص بسيط لتخزين التخصيصات لكل مستودع ولكل مستخدم. قد يبدو ملف التهيئة هذا كما يلي:
#
# يشير الحرف '#' أو ';' إلى تعليق.
#
; متغيرات core
[core]
; لا تثق في أوضاع الملفات
filemode = false
; هوية المستخدم
[user]
name = "Junio C Hamano"
email = "_"
تقرأ الأوامر المختلفة من ملف التهيئة وتعدل عملياتها وفقًا لذلك. راجع git-config(1) للحصول على قائمة والمزيد من التفاصيل حول آلية التهيئة.
مصطلحات المعرفات
<object>
يشير إلى اسم الكائن لأي نوع من الكائنات.
<blob>
يشير إلى اسم كائن blob.
<tree>
يشير إلى اسم كائن tree.
<commit>
يشير إلى اسم كائن commit.
<tree-ish>
يشير إلى اسم كائن tree أو commit أو tag. يأخذ الأمر الذي يأخذ وسيطة <tree-ish> في النهاية العملية على كائن <tree> ولكنه يقوم بفك تشفير كائنات <commit> و <tag> التي تشير إلى <tree> تلقائيًا.
<commit-ish>
يشير إلى اسم كائن commit أو tag. الأمر الذي يأخذ وسيطة
<type>
يشير إلى أن نوع الكائن مطلوب. حاليًا أحد الأنواع: blob أو tree أو commit أو tag.
<file>
يشير إلى اسم ملف - دائمًا تقريبًا بالنسبة إلى جذر هيكل الشجرة الذي يصفه GIT_INDEX_FILE.
المعرفات الرمزية
يمكن لأي أمر Git يقبل أي <object> استخدام الترميز الرمزي التالي أيضًا:
HEAD
يشير إلى رأس الفرع الحالي.
<tag>
اسم tag صالح (أي مرجع refs/tags/
<head>
اسم head صالح (أي مرجع refs/heads/
).للحصول على قائمة كاملة بالطرق التي يمكنك بها تحديد أسماء الكائنات، راجع قسم "تحديد المراجعات" في gitrevisions(7).
هيكل الملف/الدليل
يرجى الرجوع إلى المستند gitrepository-layout(5).
اقرأ githooks(5) للحصول على مزيد من التفاصيل حول كل خطاف.
قد توفر أنظمة التحكم في الإصدار عالية المستوى معلومات إضافية في $GIT_DIR وتديرها.
المصطلحات
يرجى الرجوع إلى gitglossary(7).
متغيرات البيئة
تراقب العديد من أوامر Git متغيرات البيئة وتغير سلوكها. يتم تحديد قيم متغيرات البيئة التي تحمل علامة "Boolean" بنفس الطريقة التي يتم بها تحديد قيم متغيرات التكوين ذات القيمة المنطقية، أي يتم اعتبار "true" و "yes" و "on" والأرقام الموجبة على أنها "yes"، بينما يتم اعتبار "false" و "no" و "off" و "0" على أنها "no".
فيما يلي المتغيرات:
النظام
HOME
يحدد المسار إلى دليل المستخدم الرئيسي. في نظام Windows، إذا لم يتم تعيينه، ستقوم Git بتعيين متغير بيئة للعملية يساوي: $HOMEDRIVE$HOMEPATH إذا كان كل من $HOMEDRIVE و $HOMEPATH موجودين؛ وإلا $USERPROFILE إذا كان $USERPROFILE موجودًا.
مستودع Git
تنطبق متغيرات البيئة هذه على جميع أوامر Git الأساسية. ملاحظة: يجدر بالذكر أنه قد يتم استخدامها/تجاوزها بواسطة أنظمة التحكم في الإصدار الموجودة فوق Git، لذا كن حذرًا إذا كنت تستخدم واجهة أمامية خارجية.
GIT_INDEX_FILE
يحدد متغير البيئة هذا ملف فهرس بديل. إذا لم يتم تحديده، فسيتم استخدام القيمة الافتراضية $GIT_DIR/index.
GIT_INDEX_VERSION
يحدد متغير البيئة هذا إصدار الفهرس المستخدم عند كتابة ملف الفهرس. لن يؤثر ذلك على ملفات الفهرس الحالية. بشكل افتراضي، يتم استخدام إصدار الفهرس 2 أو 3. راجع git-update-index(1) للحصول على مزيد من المعلومات.
GIT_OBJECT_DIRECTORY
إذا تم تحديد دليل تخزين الكائنات عبر متغير البيئة هذا، فسيتم إنشاء أدلة sha1 تحته - وإلا سيتم استخدام دليل $GIT_DIR/objects الافتراضي.
GIT_ALTERNATE_OBJECT_DIRECTORIES
نظرًا للطبيعة الثابتة للكائنات في Git، يمكن أرشفة الكائنات القديمة في أدلة مشتركة للقراءة فقط. يحدد هذا المتغير قائمة مفصولة بنقطتين (في نظام Windows مفصولة بفاصلة منقوطة) بأدلة كائنات Git التي يمكن استخدامها للبحث عن كائنات Git. لن يتم كتابة الكائنات الجديدة في هذه الأدلة.
تُفسَّر الإدخالات التي تبدأ بـ " (علامة اقتباس مزدوجة) على أنها مسارات منمقة على غرار لغة C، مع إزالة علامات الاقتباس المزدوجة الأولية والنهائية واحترام تسلسلات الهروب ذات الشرطة المائلة العكسية. على سبيل المثال، يحتوي الإدخال "path-with-\"-and-:-in-it":vanilla-path على مسارين: path-with-"-and-:-in-it و vanilla-path.
GIT_DIR
إذا تم تعيين متغير البيئة GIT_DIR، فإنه يحدد مسارًا لاستخدامه بدلاً من المسار الافتراضي .git كأساس للمستودع. يؤدي خيار سطر الأوامر --git-dir أيضًا إلى تعيين هذه القيمة.
GIT_WORK_TREE
يحدد المسار إلى جذر شجرة العمل. يمكن أيضًا التحكم في هذا من خلال خيار سطر الأوامر --work-tree ومتغير التكوين core.worktree.
GIT_NAMESPACE
يحدد مساحة اسم Git؛ راجع gitnamespaces(7) لمزيد من التفاصيل. يؤدي خيار سطر الأوامر --namespace أيضًا إلى تعيين هذه القيمة.
GIT_CEILING_DIRECTORIES
يجب أن تكون هذه قائمة مفصولة بـ ":" من المسارات المطلقة. إذا تم تعيينها، فهي قائمة بالدليل التي يجب ألا ينتقل Git إليها أثناء البحث عن دليل المستودع (مفيد لاستبعاد أدلة الشبكة البطيئة). لن يستبعد الدليل الحالي أو GIT_DIR المعين في سطر الأوامر أو في البيئة. عادةً، يجب على Git قراءة الإدخالات الموجودة في هذه القائمة وحل أي ارتباط رمزي قد يكون موجودًا لمقارنتها بالدليل الحالي. ومع ذلك، إذا كان حتى هذا الوصول بطيئًا، فيمكنك إضافة إدخال فارغ إلى القائمة لإخبار Git بأن الإدخالات اللاحقة ليست روابط رمزية ولا تحتاج إلى حلها؛ على سبيل المثال، GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink.
GIT_DISCOVERY_ACROSS_FILESYSTEM
عند تشغيل Git في دليل لا يحتوي على دليل المستودع ".git"، يحاول Git العثور على هذا الدليل في الأدلة الأصلية للعثور على أعلى شجرة العمل، ولكن افتراضيًا، فإنه لا يتجاوز حدود نظام الملفات. يمكن تعيين متغير البيئة المنطقي هذا على "true" لإخبار Git بعدم التوقف عند حدود نظام الملفات. مثل GIT_CEILING_DIRECTORIES، لن يؤثر هذا على دليل المستودع الصريح المعين عبر GIT_DIR أو في سطر الأوامر.
GIT_COMMON_DIR
إذا تم تعيين هذا المتغير إلى مسار، فسيتم أخذ الملفات غير الخاصة بشجرة العمل والتي توجد عادةً في $GIT_DIR من هذا المسار بدلاً من ذلك. يتم أخذ الملفات الخاصة بشجرة العمل مثل HEAD أو index من $GIT_DIR. راجع gitrepository-layout(5) و git-worktree(1) لمزيد من التفاصيل. هذا المتغير له أولوية أقل من متغيرات المسار الأخرى مثل GIT_INDEX_FILE و GIT_OBJECT_DIRECTORY...
GIT_DEFAULT_HASH
إذا تم تعيين هذا المتغير، فسيتم تعيين خوارزمية التجزئة الافتراضية للمستودعات الجديدة إلى هذه القيمة. يتم تجاهل هذه القيمة عند الاستنساخ ويتم دائمًا استخدام إعداد المستودع البعيد. الافتراضي هو "sha1". راجع --object-format في git-init(1).
GIT_DEFAULT_REF_FORMAT
إذا تم تعيين هذا المتغير، فسيتم تعيين تنسيق الواجهة الخلفية المرجعية الافتراضي للمستودعات الجديدة إلى هذه القيمة. الافتراضي هو "files". راجع --ref-format في git-init(1).
Git Commits
GIT_AUTHOR_NAME
الاسم القابل للقراءة بواسطة الإنسان المستخدم في هوية المؤلف عند إنشاء كائنات الالتزام أو العلامات، أو عند كتابة سجلات المراجع. يتجاوز إعدادات user.name و author.name.
GIT_AUTHOR_EMAIL
عنوان البريد الإلكتروني المستخدم في هوية المؤلف عند إنشاء كائنات الالتزام أو العلامة، أو عند كتابة سجلات المراجع. يتجاوز إعدادات التكوين `user.email` و `author.email`.
GIT_AUTHOR_DATE
التاريخ المستخدم لهوية المؤلف عند إنشاء كائنات الالتزام أو العلامة، أو عند كتابة سجلات المراجع. راجع `git-commit(1)` للحصول على تنسيقات صالحة.
GIT_COMMITTER_NAME
الاسم القابل للقراءة الذي يستخدم في هوية المُلتزم عند إنشاء كائنات الالتزام أو العلامة، أو عند كتابة سجلات المراجع. يتجاوز إعدادات التكوين `user.name` و `committer.name`.
GIT_COMMITTER_EMAIL
عنوان البريد الإلكتروني المستخدم في هوية المُلتزم عند إنشاء كائنات الالتزام أو العلامة، أو عند كتابة سجلات المراجع. يتجاوز إعدادات التكوين `user.email` و `committer.email`.
GIT_COMMITTER_DATE
التاريخ المستخدم لهوية المُلتزم عند إنشاء كائنات الالتزام أو العلامة، أو عند كتابة سجلات المراجع. راجع `git-commit(1)` للحصول على تنسيقات صالحة.
EMAIL
عنوان البريد الإلكتروني المستخدم في هويات المؤلف والمُلتزم إذا لم يتم تعيين أي متغير بيئة أو إعداد تكوين ذي صلة آخر.
Git Diffs
GIT_DIFF_OPTS
الإعداد الوحيد الصالح هو "--unified=؟?" أو "-u??" لتعيين عدد أسطر السياق المعروضة عند إنشاء فرق موحد. هذا له الأسبقية على أي قيمة خيار "-U" أو "--unified" التي تم تمريرها في سطر أوامر `git diff`.
GIT_EXTERNAL_DIFF
عند تعيين متغير البيئة `GIT_EXTERNAL_DIFF`، يتم استدعاء البرنامج المسمى به لإنشاء الفروق، ولا يستخدم Git آليته المضمنة للفرق. بالنسبة لمسار تمت إضافته أو إزالته أو تعديله، يتم استدعاء `GIT_EXTERNAL_DIFF` مع 7 معلمات:
path old-file old-hex old-mode new-file new-hex new-mode
حيث:
<old|new>-file
هي ملفات يمكن لـ `GIT_EXTERNAL_DIFF` استخدامها لقراءة محتويات <old|new>،
<old|new>-hex
هي قيم هاش SHA-1 المكونة من 40 رقمًا سداسيًا،
<old|new>-mode
هي التمثيل الثماني لأنماط الملفات.
يمكن أن تشير معلمات الملف إلى ملف العمل الخاص بالمستخدم (على سبيل المثال، `new-file` في "git-diff-files")، أو `/dev/null` (على سبيل المثال، `old-file` عند إضافة ملف جديد)، أو ملف مؤقت (على سبيل المثال، `old-file` في الفهرس). لا ينبغي لـ `GIT_EXTERNAL_DIFF` أن تقلق بشأن حذف الملف المؤقت - تتم إزالته عند خروج `GIT_EXTERNAL_DIFF`.
بالنسبة لمسار غير مدمج، يتم استدعاء `GIT_EXTERNAL_DIFF` بمعلمة واحدة، <path>.
لكل مسار يتم استدعاء `GIT_EXTERNAL_DIFF` له، يتم تعيين متغيرين بيئيين، `GIT_DIFF_PATH_COUNTER` و `GIT_DIFF_PATH_TOTAL`.
GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE
إذا تم تعيين متغير البيئة المنطقي هذا على true، فمن المتوقع أن يُرجع أمر `GIT_EXTERNAL_DIFF` رمز الخروج 0 إذا كان يعتبر الملفات المدخلة متطابقة أو 1 إذا كان يعتبرها مختلفة، مثل [diff]({filename}../../diff)(1). إذا تم تعيينه على false، وهو الافتراضي، فمن المتوقع أن يُرجع الأمر رمز الخروج 0 بغض النظر عن المساواة. أي رمز خروج آخر يتسبب في قيام Git بالإبلاغ عن خطأ قاتل.
GIT_DIFF_PATH_COUNTER
عداد يبدأ من 1 ويزداد بمقدار 1 لكل مسار.
GIT_DIFF_PATH_TOTAL
إجمالي عدد المسارات.
other
GIT_MERGE_VERBOSITY
رقم يتحكم في مقدار الإخراج الذي تعرضه استراتيجية الدمج المتكررة. يلغي
merge.verbosity. انظر git-merge(1)
GIT_PAGER
يُستخدم هذا المتغير البيئي لإلغاء $PAGER. إذا تم تعيينه كسلسلة فارغة أو إلى القيمة
"cat"، فلن يقوم Git بتشغيل برنامج تصفح. انظر أيضًا الخيار core.pager في git-config(1).
GIT_PROGRESS_DELAY
رقم يتحكم في عدد الثواني التي يجب تأخيرها قبل عرض مؤشرات التقدم الاختيارية.
القيمة الافتراضية هي 2.
GIT_EDITOR
يُستخدم هذا المتغير البيئي لإلغاء $EDITOR و $VISUAL. يتم استخدامه بواسطة العديد من أوامر Git
عندما يتم تشغيل محرر في وضع تفاعلي. انظر أيضًا git-var(1) والخيار core.editor في git-config(1).
GIT_SEQUENCE_EDITOR
يُستخدم هذا المتغير البيئي لإلغاء محرر Git الذي تم تكوينه عند تحرير قائمة مهام
إعادة تنظيم تفاعلية. انظر أيضًا git-rebase(1) والخيار sequence.editor في gitconfig(1).
GIT_SSH، GIT_SSH_COMMAND
إذا تم تعيين أي من هذين المتغيرين البيئيين، فسيستخدم git fetch و git push الأمر المحدد بدلاً من ssh
عند الحاجة إلى الاتصال بنظام بعيد. يتم تحديد المعلمات التي يتم تمريرها إلى الأمر الذي تم تكوينه
من خلال متغير ssh. انظر الخيار ssh.variant في git-config(1) لمزيد من التفاصيل.
$GIT_SSH_COMMAND له الأسبقية على $GIT_SSH، ويتم تفسيره بواسطة shell، مما يسمح بتضمين وسائط إضافية.
من ناحية أخرى، يجب أن يكون $GIT_SSH هو مجرد المسار إلى برنامج (والذي يمكن أن يكون برنامج نصي لـ shell، إذا كانت هناك حاجة إلى وسائط إضافية).
عادةً ما يكون من الأسهل تكوين أي خيارات مرغوبة من خلال ملف .ssh/config الشخصي الخاص بك.
يرجى الرجوع إلى وثائق ssh الخاصة بك لمزيد من التفاصيل.
GIT_SSH_VARIANT
إذا تم تعيين هذا المتغير البيئي، فإنه يلغي الكشف التلقائي لـ Git حول ما إذا كانت
GIT_SSH / GIT_SSH_COMMAND / core.sshCommand تشير إلى OpenSSH أو plink أو tortoiseplink.
يلغي هذا المتغير إعداد التكوين ssh.variant الذي يخدم نفس الغرض.
GIT_SSL_NO_VERIFY
يؤدي تعيين وتصدير هذا المتغير البيئي إلى أي قيمة إلى إخبار Git بعدم التحقق من شهادة SSL
عند استرداد أو دفع عبر HTTPS.
GIT_ATTR_SOURCE
يحدد الشجرة التي سيتم قراءة gitattributes منها.
GIT_ASKPASS
إذا تم تعيين هذا المتغير البيئي، فستقوم أوامر Git التي تحتاج إلى الحصول على كلمات المرور أو
عبارات المرور (على سبيل المثال، للمصادقة عبر HTTP أو IMAP) باستدعاء هذا البرنامج مع مطالبة مناسبة
كوسيطة سطر أوامر وقراءة كلمة المرور من STDOUT الخاص بها. انظر أيضًا الخيار core.askPass في git-config(1).
GIT_TERMINAL_PROMPT
إذا تم تعيين هذا المتغير البيئي المنطقي على false، فلن يقوم Git بالطلب على الجهاز (على سبيل المثال، عند طلب المصادقة عبر HTTP).
GIT_CONFIG_GLOBAL، GIT_CONFIG_SYSTEM
خذ التكوين من الملفات المحددة بدلاً من ملفات التكوين العامة أو على مستوى النظام. إذا تم تعيين GIT_CONFIG_SYSTEM، فلن يتم قراءة ملف التكوين الخاص بالنظام المحدد في وقت الإنشاء (عادةً /etc/gitconfig). وبالمثل، إذا تم تعيين GIT_CONFIG_GLOBAL، فلن يتم قراءة كل من $HOME/.gitconfig أو $XDG_CONFIG_HOME/git/config. يمكن تعيينه على /dev/null لتخطي قراءة ملفات التكوين على المستوى المعني.
GIT_CONFIG_NOSYSTEM
يحدد ما إذا كان سيتم تخطي قراءة الإعدادات من ملف التكوين العام $(prefix)/etc/gitconfig. يمكن استخدام هذا المتغير البيئي المنطقي جنبًا إلى جنب مع `$HOME` و `$XDG_CONFIG_HOME` لإنشاء بيئة يمكن التنبؤ بها لبرنامج نصي متطلب، أو يمكنك تعيينه على `true` لتجنب استخدام ملف `/etc/gitconfig` به أخطاء مؤقتًا أثناء انتظار شخص لديه أذونات كافية لإصلاحه.
GIT_FLUSH
إذا تم تعيين هذا المتغير البيئي المنطقي على `true`، فستقوم الأوامر مثل `git blame` (في الوضع التدريجي)، و `git rev-list`، و `git log`، و `git check-attr`، و `git check-ignore` بفرض تفريغ تدفق الإخراج بعد تفريغ كل سجل. إذا تم تعيين هذا المتغير على `false`، فسيتم إجراء إخراج هذه الأوامر باستخدام الإدخال/الإخراج المخزّن بالكامل. إذا لم يتم تعيين هذا المتغير البيئي، فسيختار Git التخزين المؤقت أو التفريغ الموجه نحو السجلات بناءً على ما إذا كان `stdout` يبدو أنه يتم إعادة توجيهه إلى ملف أم لا.
GIT_TRACE
يمكّن رسائل التتبع العامة، على سبيل المثال، توسيع الاسم المستعار، وتنفيذ الأمر المدمج، وتنفيذ الأمر الخارجي.
إذا تم تعيين هذا المتغير على "1" أو "2" أو "true" (المقارنة غير حساسة لحالة الأحرف)، فستتم طباعة رسائل التتبع إلى `stderr`.
إذا تم تعيين المتغير على قيمة عددية صحيحة أكبر من 2 وأقل من 10 (بشكل صارم)، فسيفسر Git هذه القيمة على أنها واصف ملف مفتوح وسيحاول كتابة رسائل التتبع في واصف الملف هذا.
بدلاً من ذلك، إذا تم تعيين المتغير على مسار مطلق (يبدأ بحرف `/`)، فسيفسر Git هذا على أنه مسار ملف وسيحاول إلحاق رسائل التتبع به.
يؤدي إلغاء تعيين المتغير، أو تعيينه على فارغ أو "0" أو "false" (غير حساس لحالة الأحرف) إلى تعطيل رسائل التتبع.
GIT_TRACE_FSMONITOR
يمكّن رسائل التتبع لتوسيع مراقب نظام الملفات. انظر `GIT_TRACE` للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_PACK_ACCESS
يمكّن رسائل التتبع لجميع عمليات الوصول إلى أي حزم. لكل عملية وصول، يتم تسجيل اسم ملف الحزمة وإزاحة في الحزمة. قد يكون هذا مفيدًا في استكشاف بعض مشكلات الأداء المتعلقة بالحزم. انظر `GIT_TRACE` للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_PACKET
يمكّن رسائل التتبع لجميع الحزم الواردة أو الصادرة من برنامج معين. يمكن أن يساعد هذا في تصحيح أخطاء التفاوض على الكائنات أو مشكلات البروتوكول الأخرى. يتم إيقاف التتبع عند حزمة تبدأ بـ "PACK" (ولكن انظر `GIT_TRACE_PACKFILE` أدناه). انظر `GIT_TRACE` للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_PACKFILE
يمكّن تتبع ملفات الحزم المرسلة أو المستلمة بواسطة برنامج معين. على عكس إخراج التتبع الآخر، يكون هذا التتبع حرفيًا: لا توجد رؤوس، ولا يوجد اقتباس للبيانات الثنائية. من المحتمل أنك تريد التوجيه إلى ملف (على سبيل المثال، `GIT_TRACE_PACKFILE=/tmp/my.pack`) بدلاً من عرضه على الوحدة الطرفية أو خلطه مع إخراج التتبع الآخر.
يرجى ملاحظة أن هذا يتم تنفيذه حاليًا فقط على جانب العميل من عمليات الاستنساخ والجلب.
GIT_TRACE_PERFORMANCE
يقوم بتمكين رسائل التتبع المتعلقة بالأداء، على سبيل المثال، إجمالي وقت التنفيذ لكل أمر Git.
راجع GIT_TRACE للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_REFS
يقوم بتمكين رسائل التتبع للعمليات التي تتم على قاعدة بيانات المراجع. راجع GIT_TRACE للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_SETUP
يقوم بتمكين رسائل التتبع التي تطبع `.git`، ومجلد العمل، والمجلد الحالي بعد اكتمال Git لمرحلة الإعداد. راجع GIT_TRACE للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_SHALLOW
يقوم بتمكين رسائل التتبع التي يمكن أن تساعد في تصحيح أخطاء جلب/استنساخ المستودعات الضحلة.
راجع GIT_TRACE للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_CURL
يقوم بتمكين إخراج تتبع curl كاملاً لجميع البيانات الواردة والصادرة، بما في ذلك المعلومات الوصفية، لبروتوكول نقل git. هذا مشابه لتشغيل `curl --trace-ascii` في سطر الأوامر. راجع GIT_TRACE للحصول على خيارات إخراج التتبع المتاحة.
GIT_TRACE_CURL_NO_DATA
عند تمكين تتبع curl (راجع GIT_TRACE_CURL أعلاه)، لا تقم بإخراج البيانات (أي، قم بإخراج سطور المعلومات والرؤوس فقط).
GIT_TRACE2
يقوم بتمكين رسائل تتبع أكثر تفصيلاً من مكتبة "trace2". إخراج GIT_TRACE2 هو تنسيق نصي بسيط يسهل قراءته.
إذا تم تعيين هذه المتغير على "1" أو "2" أو "true" (المقارنة غير حساسة لحالة الأحرف)، فسيتم طباعة رسائل التتبع إلى stderr.
إذا تم تعيين المتغير على قيمة عددية صحيحة أكبر من 2 وأقل من 10 (بشكل صارم)، فستفسر Git هذه القيمة على أنها واصف ملف مفتوح وستحاول كتابة رسائل التتبع في واصف الملف هذا.
بدلاً من ذلك، إذا تم تعيين المتغير على مسار مطلق (يبدأ بحرف `/`)، فستفسر Git ذلك على أنه مسار ملف وستحاول إلحاق رسائل التتبع به. إذا كان المسار موجودًا بالفعل وهو دليل، فسيتم كتابة رسائل التتبع في ملفات (ملف لكل عملية) في هذا الدليل، ويتم تسميتها وفقًا للمكون الأخير من SID وعدّ اختياري (لتجنب تضارب أسماء الملفات).
بالإضافة إلى ذلك، إذا تم تعيين المتغير على `af_unix:[<socket-type>:]<absolute-pathname>`، فستحاول Git فتح المسار كمقبس مجال يونكس. يمكن أن يكون نوع المقبس إما تدفقًا أو dgram.
بالإضافة إلى ذلك، يؤدي إلغاء تعيين المتغير، أو تعيينه على فارغ أو "0" أو "false" (بشكل غير حساس لحالة الأحرف) إلى تعطيل رسائل التتبع.
راجع وثائق Trace2[2] للحصول على التفاصيل الكاملة.
GIT_TRACE2_EVENT
يقوم هذا الإعداد بكتابة تنسيق قائم على JSON وهو مناسب للتفسير الآلي. راجع GIT_TRACE2 للحصول على خيارات إخراج التتبع المتاحة ووثائق Trace2[2] للحصول على التفاصيل الكاملة.
GIT_TRACE2_PERF
بالإضافة إلى الرسائل النصية المتاحة في GIT_TRACE2، يقوم هذا الإعداد بكتابة تنسيق قائم على الأعمدة لفهم المناطق المتداخلة. راجع GIT_TRACE2 للحصول على خيارات إخراج التتبع المتاحة ووثائق Trace2[2] للحصول على التفاصيل الكاملة.
GIT_TRACE_REDACT
بشكل افتراضي، عند تفعيل التتبع، يقوم Git بإخفاء قيم ملفات تعريف الارتباط، ورأس "Authorization:"، ورأس "Proxy-Authorization:"، وعناوين URL لملفات الحزم. قم بتعيين هذا المتغير البيئي المنطقي إلى "false" لمنع هذا الإخفاء.
GIT_NO_REPLACE_OBJECTS
يؤدي تعيين وتصدير هذا المتغير البيئي إلى إخبار Git بتجاهل المراجع البديلة وعدم استبدال كائنات Git.
GIT_LITERAL_PATHSPECS
يؤدي تعيين هذا المتغير البيئي المنطقي إلى "true" إلى جعل Git يعامل جميع مواصفات المسار حرفيًا، بدلاً من أن تكون أنماطًا عامة. على سبيل المثال، سيؤدي تشغيل GIT_LITERAL_PATHSPECS=1 git log -- '\*.c' إلى البحث عن التزامات تؤثر على المسار *.c، وليس أي مسارات تطابقها الأنماط العامة *.c. قد ترغب في ذلك إذا كنت تقوم بتزويد Git بمسارات حرفية (على سبيل المثال، مسارات تم إعطاؤها لك مسبقًا بواسطة git ls-tree أو إخراج git diff الخام).
GIT_GLOB_PATHSPECS
يؤدي تعيين هذا المتغير البيئي المنطقي إلى "true" إلى جعل Git يعامل جميع مواصفات المسار كأنماط عامة (المعروفة أيضًا باسم "السحر العام").
GIT_NOGLOB_PATHSPECS
يؤدي تعيين هذا المتغير البيئي المنطقي إلى "true" إلى جعل Git يعامل جميع مواصفات المسار كمسارات حرفية (المعروفة أيضًا باسم "السحر الحرفي").
GIT_ICASE_PATHSPECS
يؤدي تعيين هذا المتغير البيئي المنطقي إلى "true" إلى جعل Git يعامل جميع مواصفات المسار بطريقة غير حساسة لحالة الأحرف.
GIT_NO_LAZY_FETCH
يؤدي تعيين هذا المتغير البيئي المنطقي إلى "true" إلى إخبار Git بعدم جلب الكائنات المفقودة من المستودع عن بُعد بشكل كسول عند الطلب.
GIT_REFLOG_ACTION
عند تحديث مرجع، يتم إنشاء إدخالات سجل المراجع لتتبع سبب تحديث المرجع (وهو عادةً اسم الأمر عالي المستوى الذي قام بتحديث المرجع)، بالإضافة إلى القيم القديمة والجديدة للمرجع. يمكن لأمر سكريبت أن يستخدم الدالة المساعدة set_reflog_action في git-sh-setup لتعيين اسمه لهذا المتغير عند استدعائه كأمر من المستوى الأعلى بواسطة المستخدم النهائي، ليتم تسجيله في نص سجل المراجع.
GIT_REF_PARANOIA
إذا تم تعيين هذا المتغير البيئي المنطقي إلى "false"، فتجاهل المراجع المعطلة أو ذات التسمية السيئة عند التكرار عبر قوائم المراجع. عادةً ما سيحاول Git تضمين أي من هذه المراجع، مما قد يتسبب في فشل بعض العمليات. هذا هو المفضل عمومًا، حيث أن العمليات المحتملة المدمرة (على سبيل المثال، git-prune(1)) من الأفضل أن تفشل بدلاً من تجاهل المراجع المعطلة (وبالتالي اعتبار السجل الذي تشير إليه غير جدير بالحفظ). القيمة الافتراضية هي 1 (أي، كن حذرًا بشأن اكتشاف وإيقاف جميع العمليات). لا تحتاج عادةً إلى تعيين هذا على 0، ولكن قد يكون مفيدًا عند محاولة استعادة البيانات من مستودع تالف.
GIT_COMMIT_GRAPH_PARANOIA
عند تحميل كائن التزام من رسم بياني للالتزام، يقوم Git بإجراء فحص وجود للكائن في قاعدة بيانات الكائنات. يتم ذلك لتجنب المشكلات المتعلقة برسوم بيانية الالتزام القديمة التي تحتوي على مراجع لالتزامات تم حذفها بالفعل، ولكنه يأتي بتكلفة أداء.
القيمة الافتراضية هي "false"، مما يعطل السلوك المذكور أعلاه. يؤدي تعيين هذا إلى "true" إلى تمكين فحص الوجود بحيث لا يتم إرجاع الالتزامات القديمة من الرسم البياني للالتزام على حساب الأداء.
GIT_ALLOW_PROTOCOL
إذا تم تعيينه كقائمة مفصولة بنقطتين، فسيتصرف كما لو تم تعيين protocol.allow على never، وسيتم تعيين protocol.<name>.allow على always لكل بروتوكول مدرج في القائمة (مما يلغي أي تكوين موجود). راجع وصف protocol.allow في git-config(1) لمزيد من التفاصيل.
GIT_PROTOCOL_FROM_USER
قم بتعيين هذا المتغير المنطقي على false لمنع البروتوكولات المستخدمة بواسطة fetch/push/clone والتي تم تكوينها في حالة المستخدم. هذا مفيد لتقييد التهيئة المتكررة للوحدات الفرعية من مستودع غير موثوق به أو للبرامج التي تقدم عناوين URL يحتمل ألا تكون موثوقة إلى أوامر git. راجع git-config(1) لمزيد من التفاصيل.
GIT_PROTOCOL
للاستخدام الداخلي فقط. يُستخدم في المصافحة اليدوية للبروتوكول. يحتوي على قائمة مفصولة بنقطتين من المفاتيح مع قيم اختيارية <key>[=<value>]. يجب تجاهل وجود مفاتيح وقيم غير معروفة.
لاحظ أنه قد يلزم تكوين الخوادم للسماح لهذا المتغير بالمرور عبر بعض وسائل النقل. سيتم نشره تلقائيًا عند الوصول إلى المستودعات المحلية (على سبيل المثال، file:// أو مسار نظام الملفات)، وكذلك عبر بروتوكول git://. بالنسبة لـ git-over-http، يجب أن يعمل تلقائيًا في معظم التكوينات، ولكن راجع المناقشة في git-httpbackend(1). بالنسبة لـ git-over-ssh، قد يحتاج خادم ssh إلى أن يتم تكوينه للسماح للعملاء بتمرير هذا المتغير (على سبيل المثال، باستخدام AcceptEnv GIT_PROTOCOL مع OpenSSH).
هذا التكوين اختياري. إذا لم يتم نشر المتغير، فسيعود العملاء إلى البروتوكول الأصلي "v0" (ولكن قد يفقدون بعض التحسينات في الأداء أو الميزات). يؤثر هذا المتغير حاليًا على عمليات الاستنساخ والاسترجاع فقط؛ لم يتم استخدامه بعد لعمليات الدفع (ولكن قد يتم استخدامه في المستقبل).
GIT_OPTIONAL_LOCKS
إذا تم تعيين هذا المتغير المنطقي على false، فستكمل Git أي عملية مطلوبة دون إجراء أي عمليات فرعية اختيارية تتطلب الحصول على قفل. على سبيل المثال، سيمنع هذا الأمر git status من تحديث الفهرس كأثر جانبي. هذا مفيد للعمليات التي تعمل في الخلفية والتي لا تريد التسبب في تنافس على القفل مع عمليات أخرى على المستودع. القيمة الافتراضية هي 1.
GIT_REDIRECT_STDIN، GIT_REDIRECT_STDOUT، GIT_REDIRECT_STDERR
خاص بنظام التشغيل Windows: يسمح بإعادة توجيه معالجات الإدخال/الإخراج/الخطأ القياسية إلى المسارات المحددة بواسطة متغيرات البيئة. هذا مفيد بشكل خاص في التطبيقات متعددة الخيوط حيث الطريقة القياسية لتمرير المعالجات القياسية عبر CreateProcess() ليست خيارًا لأنها ستتطلب وضع علامة على المعالجات لتكون قابلة للوراثة (وبالتالي، سترث كل عملية يتم إنشاؤها كل هذه المعالجات، مما قد يمنع عمليات Git العادية). حالة الاستخدام المقصودة الأساسية هي استخدام الأنابيب المسماة للاتصال (على سبيل المثال، \\.\pipe\my-git-stdin-123).
يتم دعم قيمتين خاصتين: off سيغلق ببساطة المعالج القياسي المقابل، وإذا كان GIT_REDIRECT_STDERR هو 2>&1، فسيتم إعادة توجيه الخطأ القياسي إلى نفس المعالج مثل الإخراج القياسي.
GIT_PRINT_SHA1_ELLIPSIS (تم إهماله)
إذا تم تعيينه على "نعم"، فسيتم طباعة علامة حذف بعد قيمة SHA-1 (المختصرة). يؤثر هذا على
إشارات الرؤوس المنفصلة (git-checkout(1)) وإخراج الفرق الخام (git-diff(1)).
لم يعد يُنظر إلى طباعة علامة حذف في الحالات المذكورة على أنها مناسبة، ومن المحتمل إزالة الدعم
لها في المستقبل القريب (إلى جانب المتغير).
GIT_ADVICE
إذا تم تعيينه على 0، فسيتم تعطيل جميع رسائل النصيحة. تهدف هذه الرسائل إلى تزويد المستخدمين
البشريين بتلميحات قد تساعدهم على الخروج من المواقف الصعبة أو الاستفادة من الميزات الجديدة.
يمكن للمستخدمين تعطيل رسائل فردية باستخدام مفاتيح التكوين advice.*. قد تكون هذه الرسائل
مزعجة للأدوات التي تنفذ عمليات Git، لذلك يتوفر هذا المتغير لتعطيل الرسائل. (يتوفر أيضًا الخيار
العالمي --no-advice، ولكن قد تفشل الإصدارات القديمة من Git عند عدم فهم هذا الخيار. سيتم تجاهل
متغير البيئة بواسطة إصدارات Git التي لا تفهمه.)
مناقشة
تتوفر المزيد من التفاصيل حول ما يلي من فصل مفاهيم Git في دليل المستخدم[3] و gitcore-tutorial(7).
يتكون مشروع Git عادةً من دليل عمل مع دليل فرعي ".git" في المستوى الأعلى. يحتوي دليل .git على
مجموعة من الأشياء الأخرى، وقاعدة بيانات كائنات مضغوطة تمثل التاريخ الكامل للمشروع، وملف
"فهرس" يربط هذا التاريخ بالمحتويات الحالية لشجرة العمل، ومؤشرات مسماة إلى هذا التاريخ مثل
علامات ورؤوس الفروع.
تحتوي قاعدة بيانات الكائنات على كائنات من ثلاثة أنواع رئيسية: الكائنات، التي تحتفظ ببيانات
الملفات؛ والأشجار، التي تشير إلى الكائنات والأشجار الأخرى لبناء تسلسلات هرمية للدليل؛ والالتزامات،
التي تشير كل منها إلى شجرة واحدة وعدد من الالتزامات الأصل.
الالتزام، وهو ما يعادله ما يسمى بـ "مجموعة التغييرات" أو "الإصدار" في الأنظمة الأخرى، يمثل خطوة
في تاريخ المشروع، ويمثل كل أصل خطوة فورية سابقة. تمثل الالتزامات التي تحتوي على أكثر من أصل واحد
دمجًا لخطوط تطوير مستقلة.
يتم تسمية جميع الكائنات بواسطة تجزئة SHA-1 لمحتوياتها، وعادة ما يتم كتابتها كسلسلة من 40 رقمًا
سداسيًا عشريًا. هذه الأسماء فريدة عالميًا. يمكن التحقق من صحة التاريخ بأكمله المؤدي إلى الالتزام
بمجرد توقيع هذا الالتزام. يتم توفير نوع كائن رابع، وهو العلامة، لهذا الغرض.
عند إنشائها لأول مرة، يتم تخزين الكائنات في ملفات فردية، ولكن يمكن ضغطها لاحقًا معًا في
"ملفات الحزم" لتحقيق الكفاءة.
تشير المؤشرات المسماة التي تسمى "المراجع" إلى نقاط مثيرة للاهتمام في التاريخ. قد يحتوي المرجع على
اسم SHA-1 لكائن أو اسم مرجع آخر (يُعرف هذا الأخير باسم "المرجع الرمزي"). تحتوي المراجع التي تبدأ
بـ refs/head/ على اسم SHA-1 لأحدث التزام (أو "الرأس") للفرع قيد التطوير. يتم تخزين أسماء SHA-1
للعلامات ذات الأهمية تحت refs/tags/. يحتوي مرجع رمزي يسمى HEAD على اسم الفرع الذي تم إخراجه
حالياً.
يتم تهيئة ملف الفهرس بقائمة بجميع المسارات، ولكل مسار، يتم تضمين كائن بيانات ومجموعة من السمات. يمثل كائن البيانات محتويات الملف كما هي في أحدث نسخة من الفرع الحالي. يتم استخلاص السمات (وقت آخر تعديل، والحجم، وما إلى ذلك) من الملف المقابل في شجرة العمل. يمكن العثور على التغييرات اللاحقة في شجرة العمل عن طريق مقارنة هذه السمات. يمكن تحديث الفهرس بمحتوى جديد، ويمكن إنشاء التزامات جديدة من المحتوى المخزن في الفهرس.
يستطيع الفهرس أيضًا تخزين إدخالات متعددة (تسمى "المراحل") لاسم مسار معين. تُستخدم هذه المراحل لتخزين الإصدارات المختلفة غير المدمجة من ملف عندما يكون الدمج قيد التقدم.
الأمان
قد تتسبب بعض خيارات التكوين وملفات الربط في قيام Git بتشغيل أوامر shell عشوائية. نظرًا لأن التكوين والربط لا يتم نسخه باستخدام git clone، فمن الآمن عمومًا استنساخ المستودعات البعيدة التي تحتوي على محتوى غير موثوق به، وفحصها باستخدام git log، وما إلى ذلك.
ومع ذلك، فإنه ليس من الآمن تشغيل أوامر Git في دليل .git (أو شجرة العمل المحيطة به) عندما يأتي دليل .git نفسه من مصدر غير موثوق به. يتم تنفيذ الأوامر الموجودة في التكوين والربط بالطريقة المعتادة.
افتراضيًا، سيرفض Git التشغيل عندما يكون المستودع مملوكًا لشخص آخر غير المستخدم الذي يقوم بتشغيل الأمر. انظر إدخال safe.directory في git-config(1). في حين أن هذا يمكن أن يساعد في حمايتك في بيئة متعددة المستخدمين، لاحظ أنه يمكنك أيضًا الحصول على مستودعات غير موثوق بها وهي مملوكة لك (على سبيل المثال، إذا قمت باستخراج ملف zip أو tarball من مصدر غير موثوق به). في مثل هذه الحالات، ستحتاج إلى "تطهير" المستودع غير الموثوق به أولاً.
إذا كان لديك دليل .git غير موثوق به، فيجب عليك أولاً استنساخه باستخدام git clone --no-local للحصول على نسخة نظيفة. يفرض Git قيودًا على مجموعة الخيارات والربط التي سيتم تشغيلها بواسطة upload-pack، والذي يعالج الجانب الخاص بالخادم من عملية الاستنساخ أو الجلب، ولكن كن حذرًا من أن مساحة الهجوم ضد upload-pack كبيرة، لذلك يحمل هذا بعض المخاطر. الشيء الأكثر أمانًا هو خدمة المستودع كمستخدم غير متميز (إما عبر git-daemon(1)، أو ssh، أو باستخدام أدوات أخرى لتغيير معرّفات المستخدم). انظر المناقشة في قسم "الأمان" في git-upload-pack(1).
المزيد من الوثائق
راجع المراجع الموجودة في قسم "الوصف" للبدء في استخدام Git. قد يحتوي ما يلي على مزيد من التفاصيل مما هو ضروري للمستخدم لأول مرة.
يوفر فصل مفاهيم Git في دليل المستخدم [3] و gitcore-tutorial(7) مقدمات للهندسة المعمارية الأساسية لـ Git.
راجع gitworkflows(7) للحصول على نظرة عامة على سير العمل الموصى به.
راجع أيضًا مستندات "كيفية" [4] للحصول على بعض الأمثلة المفيدة.
تم توثيق التفاصيل الداخلية في وثائق واجهة برمجة تطبيقات Git [5].
قد يرغب المستخدمون الذين ينتقلون من CVS أيضًا في قراءة gitcvs-migration(7).
المؤلفون
بدأ Git بواسطة لينوس تورفالدس، ويتم صيانته حاليًا بواسطة جونيور سي هامانو. جاءت العديد من المساهمات من قائمة بريدية لـ Git <_[6]>.
يعطيك https://openhub.net/p/git/contributors/summary قائمة أكثر اكتمالاً بالمساهمين.
إذا كان لديك نسخة طبق الأصل من git.git نفسه، فيمكن لإخراج git-shortlog(1) و git-blame(1) أن يوضح لك المؤلفين لأجزاء معينة من المشروع.
الإبلاغ عن الأخطاء
أبلغ عن الأخطاء إلى قائمة بريدية Git <_[6]> حيث يتم إجراء التطوير والصيانة بشكل أساسي. لست بحاجة إلى الاشتراك في القائمة لإرسال رسالة إليها. راجع أرشيف القائمة على https://lore.kernel.org/git للحصول على تقارير الأخطاء والمناقشات الأخرى السابقة.
يجب الكشف عن المشكلات المتعلقة بالأمان بشكل خاص إلى قائمة بريدية Git للأمان <_[7]>.
انظر أيضًا
gittutorial(7) و gittutorial-2(7) و giteveryday(7) و gitcvs-migration(7) و gitglossary(7) و gitcoretutorial(7) و gitcli(7) و The Git User’s Manual[1] و gitworkflows(7)
GIT
جزء من مجموعة git(1)
ملاحظات
Git User’s Manual file:///usr/share/doc/git/html/user-manual.html
Trace2 documentation file:///usr/share/doc/git/html/technical/api-trace2.html
Git concepts chapter of the user-manual file:///usr/share/doc/git/html/user-manual.html#git-concepts
howto file:///usr/share/doc/git/html/howto-index.html
Git API documentation file:///usr/share/doc/git/html/technical/api-index.html
_ mailto:_
_ mailto:_