كيف يتم استخدام بوابة عادة؟ زوج من الأوامر الأساسية "
لمزامنة الجميع ." غيبس الإحباط غالبا ما تنشأ بين أولئك الذين لا تتجاوز هذا الفهم السطحي. ومع ذلك ، فإن اتقان بوابة سوف تؤتي ثمارها بالتأكيد. كم من الوقت تقضيه في استخدام بوابة؟ أود أن أقترح أن هناك الكثير من الأدوات التي تستخدمها على حزامك وتنفق ضعف الوقت الذي تستغرقه في الدراسة.
إذا كنت ترغب في معرفة المزيد حول git ، أقترح البدء
بالفصل 10 من
Pro Git (إنه مجاني!) ، ثم الفصول 2 و 3 و 7. والباقي اختياري. في هذه المقالة ، سنناقش كيفية استخدام الأدوات الموضحة في الكتاب للعمل المنضبط والمثمر.
الأساسيات: وصف الالتزام الجيد
ربما سمعت هذا من قبل ، لكن كن صبورًا. بشكل عام ، لا تحتاج إلى استخدام
git commit -m " "
. ابدأ بتكوين git لاستخدام المحرر المفضل لديك:
git config --global core.editor vim
، ثم قم بتشغيل
git commit
. سيتم فتح المحرر ، ويمكنك كتابة وصفك للالتزام فيه. يجب أن يقتصر السطر الأول على 50 حرفًا وأن يُكمل باستخدام جملة:
بعد تطبيق هذا الالتزام ... "سيصلح عرض النص بلغات CJK" ، "سيضيف دعمًا لبروتوكول v3" ، "سوف يعيد معالجة CRTC" ، إلخ. ثم أضف سطرًا فارغًا و انتقل إلى
الوصف الموسع للالتزام ، والذي يجب ترميزه في 72 عمودًا ويتضمن تفاصيل مثل تبرير الالتزام والمفاضلات وقيود النهج وما إلى ذلك.
نستخدم 72 حرفًا لأن هذا هو
العرض القياسي لرسالة البريد الإلكتروني ، والبريد الإلكتروني هو أداة هامة في بوابة. يتم استخدام حد 50 حرفًا لأن السطر الأول يصبح موضوع بريدك الإلكتروني ، ويمكنك إضافة الكثير من النصوص مثل
“[PATCH linux-usb v2 0/13]”
. قد تجد أن قيود التنسيق هذه مزعجة ومرهقة ، لكن ضع في اعتبارك أن الآخرين يقرؤون السجلات في سياق مختلف عنك. غالبًا ما أقرأ سجلات الالتزام على شاشة عمودية ، ولن تضغط على نص في سطر واحد بقدر عرض 4K 16: 9.
يجب أن يكون كل التزام تغييرًا ذاتيًا
يجب أن يحتوي كل التزام على تغيير واحد فقط - تجنب التغييرات الصغيرة غير ذات الصلة في التزام واحد (في هذا الصدد ، يمكنني في كثير من الأحيان الاستماع إلى نصائحي الخاصة). أيضًا ، تجنب تقسيم تغيير واحد إلى تعهدات متعددة ، ما لم يتم تقسيم الفكرة إلى خطوات منفصلة ، يمثل كل منها تغييرًا كاملاً. إذا كان هناك العديد من التغييرات في شجرة العمل الخاصة بك وكنت بحاجة إلى الالتزام ببعضها فقط ، فحاول
git add -i
أو
git add -p
. بالإضافة إلى ذلك ، يجب أن يتم تجميع كل التزام ، واجتياز جميع الاختبارات بنجاح وتجنب الأخطاء المعروفة التي سيتم إصلاحها في عمليات ارتكاب في المستقبل.
الآن يمكنك أن تأخذ أي التزام وتتوقع أن رمز سيعمل بشكل صحيح. سيكون هذا مفيدًا في وقت لاحق ، على سبيل المثال ، أثناء التضمين الانتقائي للتعهدات في فرع الإصدار. هذا النهج يعزز أيضا من فائدة
بوابة 1 ، لأنه إذا كنت تتوقع أن يتم تجميع الشفرة واجتياز الاختبارات لكل التزام بنجاح ، فيمكنك اجتياز نص برمجي
git-bisect
يتحقق من الشجرة برمجيًا بحثًا عن الأخطاء ويتجنب الإيجابيات الخاطئة. تعمل هذه
الالتزامات المستقلة والموصفة جيدًا على تبسيط عملية إعداد أوصاف الإصدار باستخدام
git-shortlog ، كما
يفعل Linux مع إصدارات Linux .
من الصعب القيام بذلك بشكل صحيح في المرة الأولى
نأتي إلى واحدة من أهم ميزات git ، التي تميزها عن سابقاتها: تحرير القصص. جميع أنظمة التحكم في الإصدار تأتي مع نوع من "آلة الزمن" ، ولكن قبل أن تكون في الغالب للقراءة فقط. ومع ذلك ، فإن آلة وقت بوابة مختلفة: يمكنك تغيير الماضي. في الواقع ، حتى يتم تشجيعك على القيام بذلك! لكني أحذرك: فقط قم بتغيير الماضي ، الذي لم يدخل بعد فرعًا عامًا مستقرًا.
خلاصة القول هي على النحو التالي. الكتابة تلتزم دون أخطاء ، فالالتزامات المستقلة ذات الوصف الجيد صعبة في المحاولة الأولى. على النقيض من ذلك ، يعد تحرير قصة أمرًا سهلاً ، وهو جزء من سير العمل الفعال. تحقق من
بوابة rebase واستخدامها بحرية. يمكنك استخدام rebase لإعادة ترتيب ودمج وحذف وتعديل وتقسيم الالتزامات. على سبيل المثال ، عادةً ما أقوم ببعض التغييرات على الملف ، وأرسل التزام إصلاح (
git commit -m fixup
) ، ثم استخدم
git rebase -i
لدمجه في التزام سابق.
نصائح مختلفة
- قراءة مانا! حدد صفحة git man عشوائي وقم بقراءتها الآن. أيضًا ، إذا لم تكن قد قرأت صفحة رجل المستوى الأعلى (git man فقط) ،
man git
بذلك.
- في أسفل كل mana لأمر git عالي المستوى ، تكون عادةً قائمة بأوامر git ذات المستوى المنخفض التي يعتمد عليها الأمر high-level. إذا كنت ترغب في معرفة المزيد حول كيفية عمل أمر git عالي المستوى ، فحاول قراءة هذه الصفحات.
- تعرّف على كيفية تحديد الالتزامات الصحيحة مع تحديد المراجعة .
- الفروع مفيدة ، ولكن يجب أن تتعلم العمل بدونها ، وأن يكون لديك أيضًا مجموعة جيدة من الأدوات على حزامك. استخدم أوامر مثل
git pull --rebase
، git send-email -1 HEAD~2
و git push origin HEAD~2:master
git pull --rebase
git push origin HEAD~2:master
.
1. باختصار ، git bisect هي أداة تقوم بإجراء بحث ثنائي بين اثنين من الالتزام في السجل الخاص بك ، وتبحث في الإلتزامات بينهما واحدة تلو الأخرى حتى تتمكن من التحقق من وجود خطأ. بهذه الطريقة ، يمكنك حساب الالتزام الذي تسبب في المشكلة.
↑