سحق Git يرتكب

أستخدم Git كل يوم وكتبت ملفدليل Gitو أورقة الغش بوابةفي الماضي.

أعتبر نفسي من المعجبين بـ Git ، لكن ... لست خبيرًا في Git.

الالتزام ، وجلب الأصل ، وسحب الأصل ، والدفع إلى الأصل .. هذا هو استخدامي اليومي لـ Git.

وأنا كذلكبعضشخص سخيف:

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

شيئين أستخدمهما في بعض الأحيانقطف الكرزوسحق يرتكب.

دعنا نتحدث عن ذلك.

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

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

هذا هو أيضًا الإعداد الافتراضي عند العمل في مشروع قائم على الفريق أو مفتوح المصدر.

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

يمكنك تنفيذ سلسلة من الالتزامات السريعة حيث تكون الرسالة "موافق" أو "محاولة ذلك" أو "إصلاح الخطأ الغبي".

ولكن في مرحلة ما ، تحتاج إلى التقارب مع حالة مستقرة وإرجاع التغييرات إلى إتقانها ، أو إلى أي فرع تريده.

أنت تريد أن تفعل شيئًا واحدًا قبل ذلك: سحق التزاماتك.

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

بدلاً من رؤية جميع الالتزامات الفردية الواردة في طلب السحب ، سترى التزامًا واحدًا فقط ، وفي عملية دمج العلاقات العامة ، يمكنك كتابة وصف ورسالة تنفيذ مفصلة ومخصصة.

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

هذا هو سحق في عملية العلاقات العامة GitHub. يمكنك سحق التزاماتك خارج GitHub أيضًا.

بمجرد الانتهاء من عملك في الفرع ، تقوم بدمج الرئيسي (أو أي فرع آخر تريد دمجه فيه) فيه:

git merge master

حتى تتمكن من التعامل مع أي تعارض في التحديث هناك.

ثم تقوم بتسجيل الخروج سيد ، ومن هناك تقوم بتشغيل:

git merge --squash <your-feature-branch>

وثم

git commit

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


المزيد من دروس git: