Avatar ·

كيفية تحديد اعتماد على آخر commit في مستودع Git في go.mod؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go والوحدات، وواجهت هذه المشكلة. لدي مشروع يستخدم المكتبة github.com/someuser/awesome-lib. أضفتها إلى go.mod عبر go get، فقامت بجلب آخر إصدار مستقر (مثل v1.2.3).

لكن مطور المكتبة لا يصدر tags جديدة، بل يضيف الإصلاحات والميزات الجديدة مباشرة إلى فرع main (أو master. أحتاج أن يستخدم مشروعي أحدث إصدار من الكود من المستودع، بما في ذلك آخر commits، وليس فقط الإصدارات الموسومة.

حاولت حذف require وتنفيذ go get github.com/someuser/awesome-lib@master، لكن هذا لا يعمل دائماً، أو عند تشغيل go mod tidy يتم إعادة تعيين كل شيء. قرأت أيضاً عن replace، لكن يبدو أنه للمسارات المحلية وليس للمستودعات البعيدة.

أرشدوني إلى كيفية التحديد الصحيح في go.mod بحيث يشير الاعتماد إلى