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

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

عند الاستنساخ ، تنتقل البيانات من مستودع بعيد إلى منطقتين:
إجراء تغييرات على دليل العمل

يوجد نوعان من الملفات في دليل العمل:
- مجنزرة : ملفات بوابة يعرف عنه.
- لا يمكن تتبعه : لم تتم إضافته بعد ، لذلك Git لا يعرف عنها.
تحديث مستودع البعيد

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

علاوة على ذلك يمكنك شرح:
- :
git diff
- :
git diff --staged
- . .
(fetching)

git fetch
.
(pulling)

git pull
:
,
git pull --rebase
.
fetch + merge
fetch + rebase
. ,
.

, :
.
, : , , , .
(Visual SourceSafe, TFS Subversion): , , . , .
,
Git .
Hacker News:
Reddit, ,
«, Git», , , Git
Pro Git. , . , . !
, Hacker News,
u/cryptoz, Reddit!