سؤال

ما زلت أجد صعوبة في فهم مفهوم التدريج كما هو مطبق على Git.

هل يمكن إجراء أي قياسات مع SVN؟ما هو الغرض الأساسي من الحصول على مستوى المرحلة في Git؟

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

المحلول

أوجه التشابه:

الملفات التي يجب أن تكون جزءا من مستودع يجب أن تضاف لكي يجري تعقب.سواء استخدام أدوات add الأمر لتحقيق ذلك.إضافة الملفات يعني لإعداد يرتكبها.

الاختلافات:

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

معلومات إضافية:

حاول قراءة بعض المشاركات واصفا بوابة سير العمل مثل واحد من أوليفر ستيل.ولكن كن على علم بأن هناك لا أحد طريقة استخدام Git - هناك العديد من.إذا كنت تريد, يمكنك استخدام Git كما لو كنت تعمل مع SVN.
لا نتوقع أن نفهم فلسفة جيت في فترة قصيرة من الزمن.استغرق الأمر مني سنوات للوصول الى ذلك و ما زلت تعلم طرق جديدة لاستخدامها.أعتقد أنه من الصعب حتى إذا كبرت مع SVN عقلية.هناك طن من المواد هناك:مقالات, فيديو, ...- خذ وقتك ومحاولة على بعض منها.هنا مجموعة مختارة من القائمة التي تم جمعها.

نصائح أخرى

الميزة الرئيسية لمنطقة التدريج هي أنه يمكنك بسهولة تنفيذ جزء فقط من التغييرات في ملف معين.(استخدام git add -p على سبيل المثال.) بقدر ما أعرف، الطريقة الوحيدة للقيام بالالتزام "الجزئي" في SVN هي على مستوى كل ملف، أو عن طريق النسخ الاحتياطي للملف يدويًا ثم التراجع مؤقتًا عن التغييرات التي لا تريد الالتزام بها .

يعد هذا أمرًا رائعًا إذا لم تكن (مثلي) مطورًا عالي التنظيم وتريد أن تكون قادرًا على فرز التغييرات إلى التزامات "مرتبة" بعد وقوعها.يتبع هذا الموقف العام لـ Git المتمثل في تفضيل منحك المرونة بدلاً من فرض الصرامة.إذا لم تكن بحاجة إليه، فيمكنك دائمًا عدم استخدامه واستخدامه git commit -a ....

لا توجد تشابهات يمكن إجراؤها مع SVN لأن SVN ليس Git وليس لديه مثل هذا المفهوم.

إليك بعض السيناريوهات التي تظهر فائدة التدريج:

  • تعمل على قطعة معينة وجعلت بعض التغييرات في جميع أنحاء مشروعك. أنت لا تريد أن ترتكبهم بعد قبل اختبار الأمر الكامل. ولكن هذه التغييرات يمكن أن تكون غالبا ما تكون مستقلة بما يكفي لجعل جملة منطقية متعددة من واحدة كبيرة واحدة. هذا هو عند مرحلة أجزاء انتقائية وجعل ارتكامات متعددة.

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

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

هناك العديد من هذه السيناريوهات الأخرى، وربما لن تكون قادرا على العمل مع أي شيء يفتقر إلى هذا المفهوم، بمجرد الحصول على تعليق منه :).

ps: لم أستخدم svn على الإطلاق، لذلك لا يمكن إجراء المقارنات بين الاثنين.

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