سؤال

أقوم بتطوير بلغة نصية خاصة مع رمز استئناف للغاية يتم فيه احتواء معظم التكوينات داخل الكود نفسه.

ستكون المشكلة الواضحة هي الاختلافات في الكود نفسه بين بيئات الاختبار والإنتاج وهذا بالضبط ما أحاول إدارته باستخدام GIT.

نظرًا لأن اختبار ENV الخاص بي متقلبة تمامًا ، فقد اعتقدت أنه يمكنني إنشاء فرع في Git لذلك أثناء إجراء تغييرات (والحفاظ على الكود مع تكوينات الاختبار هناك) وبعد قبول الكود ، سأدمجه في الإنتاج.

حسنًا ، عندما أطلب من GIT دمج فرعاتي ، يقوم بعمل رائع مع الرمز .. ولكن يتم ترحيل التكوينات أيضًا ، ومن الذي يجب أن أفتح ملفًا على حدة ، وتغييره إلى ما كان عليه.

هل هناك على أي حال ، يمكنني تعطيل الاندماج التلقائي من GIT والتهديد كل شيء مع تعارض الكود ليتم دمجه يدويًا مع Winmerge أو شيء ما لاحقًا؟ الكود قصير ، حقا. وبما أنني سأضطر إلى تعديلها على أي حال لتطبيق التكوينات ...

ملاحظة: يرجى ملاحظة ، أنا لا أسأل عن كيفية تكوين Winmerge على git. لدي هذه الأدوات تعمل. سؤالي هو كيفية أداء الدمج اليدوية دائمًا بين الفروع.

شكرًا!

F.

هل كانت مفيدة؟

المحلول

تعطيل الدمج التلقائي

يمكن تحقيق ذلك من خلال كتابة سائق دمج صغير ، تم تعيينه في أ .gitattributes ملف.
سياسة مثل unset قد يكون ما تبحث عنه.

Unset

خذ الإصدار من الفرع الحالي كنتيجة دمج مؤقت ، وأعلن أن الدمج تعارض. هذا مناسب للملفات الثنائية التي لا تحتوي على دلالات دمج محددة جيدًا.

لكن سائق Gitattribute آخر مثير للاهتمام سيكون نظيفة فير:

http://git-scm.com/figures/18333fig0703-tn.png

هذا من شأنه تنفيذ نص "نظيف" من اختيارك قبل ارتكاب المحتوى "الذي تم تنظيفه" إلى الريبو.
مثل هذا 'clean"يمكن أن يساعدك البرنامج النصي في أتمتة التغييرات التي يتعين عليك إجراؤها على الكود الخاص بك للحفاظ على قيم التكوين أو تعديلها.

نصائح أخرى

أنت تقول "معظم التكوينات موجودة في الكود نفسه" ولكن نأمل أن يتم عزل كل التكوينات في الملفات الخاصة بالتكوين. إذا كان هذا هو الحال ، فيمكنك الاحتفاظ بحالات الاختبار وإصدار رمز التكوين في نفس الفرع. يمكنك بعد ذلك استخدام مفتاح سطر الأوامر لاستخدام تكوين الاختبار بدلاً من العادي.

إذا تمكن البرنامج من قراءة اختيار التكوين من سطر الأوامر (أو متغير البيئة ، أو مفتاح التسجيل ، أو الملف النصي أو أي شيء آخر) ، فلن تضطر إلى الاندماج على الإطلاق. يمكن للبرنامج تجاهل ملفات تكوين الاختبار عند عدم وجود مفتاح سطر الأوامر ، وتجاهل تكوين الإصدار عند وجود مفتاح سطر الأوامر.

هذا يوفر لك من الأخطاء المحتملة أثناء الاندماج وكذلك الوقت الذي يستغرقه القيام بالاندماج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top