تجزئة الالتزام بالوحدة الخارجية القابلة للتحميل
-
20-09-2019 - |
سؤال
أقوم بتطوير وحدة Kernel Linux خارج شجرة مصدر Linux (بالطريقة القياسية) وأحاول تلقائيًا تضمين تجزئة GIT لـ سائق في سلسلة الإصدار المطبوعة أثناء تحميل الوحدة النمطية. يحسب Makefile تجزئة GIT باستخدام الأمر
DRV_TAG := $(shell git log -1 --pretty=format:"%h")
لكن هذا يلتقط التجزئة GIT لشجرة Linux وليس سائقي. هل يمكنك إخبار Git بالنظر إلى دليل معين عند تنفيذ الأوامر ، أو بدلاً من ذلك ، هل هناك طريقة أفضل للتعامل مع هذه المشكلة؟
هذا يستخدم Git 1.5.4.5 و Linux 2.6.28
المحلول
نعم ، يمكنك استخدام --git-dir
الخيار الذي يجب عليك تعيينه على ما هو مناسب .git
الدليل. أيضا ، بينما يمكنك استخدام git log
, ، لما تفعله rev-parse
(أمر السباكة) قد يكون أكثر ملاءمة.
git --git-dir=/driver/root/.git rev-parse HEAD
نصائح أخرى
git
يأخذ خيار --git-dir
وهو ما يتيح لك تحديد المستودع الذي يجب البحث فيه. هناك مشابه --work-tree
الخيار إذا كنت بحاجة إلى إلقاء نظرة على شجرة العمل أيضًا.
git --git-dir=/path/to/repo log -1 --pretty=format:"%h"
انظر الى صفحة Git Man لأوصاف هذه الخيارات وغيرها.