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

لكن قبل أن نبدأ، انظر إلى هذا—هذا هو التطبيق الذي استغرقت 1000 ساعة في بنائه من الصفر!
بدأت بدون أي معرفة بالبرمجة، وأريد أن أشارككم كيف وصلت إلى هذه المرحلة!
VSCode؟ React؟ ما هذه الأشياء؟
قبل أن نتعمق في Git، دعونا نوضح بعض الأمور.
إذا كنت تفكر: "انتظر لحظة، لماذا نتحدث فجأة عن VSCode وReact؟"— لا تقلق، سأشرح لك.
- VSCode (Visual Studio Code) → تخيل أنه ورشتك الرقمية حيث يمكنك كتابة، تعديل، وتشغيل الكود الخاص بك.
- React → أداة لبناء تطبيقات الويب. تطبيق قائمة المهام (To-Do List) الذي أقوم ببنائه؟ هذه التقنية هي ما تجعله يعمل!
- Git → زر الحفظ النهائي للكود. يسمح لك بتتبع التغييرات، الرجوع إلى الإصدارات السابقة، والعمل على مشاريعك عبر أجهزة متعددة. فكر فيه على أنه كتاب تعاويذ سحرية للمطورين، يمكنك من خلاله العودة عبر الزمن!
"أوه، إذن Git يجعل كل شيء أكثر أمانًا وسهولة؟"
كنت أعتقد ذلك... حتى سقطت في جحيم لا نهاية له.
Git؟ التحكم في الإصدارات؟ هل أحتاج إلى ذلك حقًا؟
"قم بتثبيت Git"، هكذا قال الجميع.
كل برنامج تعليمي، كل مدونة، كل فيديو يوصي به.
لكنني كنت متشككًا:
"لماذا؟ أنا أعمل بمفردي، هل أحتاج حقًا إلى التحكم في الإصدارات؟"
لم أفهم أهميته في ذلك الوقت.
ولكن يا إلهي، كم ندمت على ذلك لاحقًا.
لذا، دعني أترك ملاحظة لنفسي في المستقبل:
"إذا لم تقم بتثبيت Git، فلن تتمكن من التراجع عن أخطائك. وستعاني. كثيرًا."
Git هو في الأساس أقوى نسخة من Ctrl+Z، فهو يسمح لك بتتبع التغييرات، استعادة الملفات المفقودة، وإدارة عدة إصدارات من مشروعك.
إذا حدث خطأ ما، يمكنك الرجوع بالزمن وإصلاحه!
تثبيت Git: مرحبًا بك في جحيمي الشخصي
بعد أن اقتنعت بأهمية Git، قررت تثبيته.
- دخلت إلى الموقع الرسمي لـ Git (وأضعت وقتًا طويلاً في تحديد أي رابط يجب أن أضغط عليه).
- قمت بتنزيل المثبت وتشغيله (بالطبع، ضغطت على "التالي" عدة مرات دون تفكير).
- انتهى التثبيت! (لكن، بالطبع، لم يبدأ أي شيء فعليًا بعد).
كل شيء كان يسير على ما يرام... ثم بدأ الكابوس.
حاولت تشغيل أول أمر Git:
bashコピーする編集するgit init
لكن ماذا حصل؟
"الأمر 'git' غير معروف كأمر داخلي أو خارجي، أو كملف دفعي قابل للتشغيل."
ماذا؟!
نظرت إلى الشاشة. "أنت ذكاء اصطناعي، أليس كذلك؟ ألا يمكنك حل هذه المشكلة بنفسك؟"
Git: "..." (تجاهلني تمامًا).
Git غير معروف؟ فخ Windows!
شعرت بالذعر. لقد قمت بتثبيت Git—لماذا لا يعمل؟!
بعد بعض البحث، اكتشفت أن Windows لا يتعرف تلقائيًا على Git إلا إذا قمت بإعداده يدويًا في "المتغيرات البيئية".
…رائع. يبدو ذلك ودودًا جدًا للمستخدم، أليس كذلك؟ (بالطبع، لا).
تخيلت أنني سأتعامل مع شيء بسيط، لكن لا—لقد دخلت في متاهة تقنية مخيفة.
إليك ما اضطررت إلى القيام به:
- فتح قائمة ابدأ
- البحث عن "المتغيرات البيئية"
- فتح "تحرير متغيرات النظام"
- العثور على قسم "Path" وإضافة مسار تثبيت Git يدويًا
بعد كل هذا، أخيرًا استطعت تشغيل أوامر Git بشكل صحيح.
إنشاء مستودع! ولكن، بالطبع، المزيد من الأخطاء...
"أخيرًا! Git يعمل!" اعتقدت ذلك.
bashコピーする編集するgit init
بوم!
"تم تهيئة مستودع Git فارغ."
نجحت!! لقد فعلتها!!
ولكن بعد ذلك...
bashコピーする編集するgit add .
فجأة، امتلأت الشاشة بتحذيرات:
"سيتم استبدال LF بـ CRLF."
...ما هو LF؟ وما هو CRLF؟!
اتضح أن Windows وMac يتعاملان مع الفواصل بين الأسطر بشكل مختلف.
هل كنت أعرف ذلك؟ بالطبع لا.
لحسن الحظ، اكتشفت أن هذه مجرد تحذيرات، لذا تجاهلتها ومضيت قدمًا.
(وبكلمة "تجاهلتها"، أعني أنني أغلقت الطرفية وتظاهرت بأن شيئًا لم يحدث).
.gitignore: جولة أخرى من العذاب
بعد ذلك، كنت بحاجة إلى إنشاء ملف .gitignore
لاستبعاد الملفات غير الضرورية مثل node_modules/
و .env
.
بثقة تامة، كتبت في الطرفية:
bashコピーする編集するnode_modules/
.env
ثم رد Git:
"الأمر 'node_modules/' غير معروف كأمر داخلي أو خارجي."
هاه؟
اتضح أنني كنت أحمق تمامًا.
لقد كتبت القواعد مباشرة في الطرفية بدلاً من إنشائها داخل ملف .gitignore.
درس مهم: .gitignore
هو ملف، وليس أمرًا.
الزعيم الأخير: أزمة هوية Git
بعد إصلاح .gitignore
، كنت جاهزًا للخطوة الأخيرة:
bashコピーする編集するgit commit -m "Initial commit"
لكن مرة أخرى، خطأ آخر!
"هوية المستخدم غير معروفة."
Git يريد معرفة من يقوم بعملية commit. حسنًا، لا مشكلة. قمت بإعداد اسمي وبريدي الإلكتروني:
bashコピーする編集するgit config --global user.name "C.River"
git config --global user.email "ika.com0508@gmail.com"
ثم حاولت مرة أخرى:
bashコピーする編集するgit commit -m "Initial commit"
وأخيرًا...
"[master (root-commit)] Initial commit"
نجح الأمر!
جلست، مرهقًا لكن منتصرًا.
"أنا... ربما أكون عبقريًا بعد كل شيء!"
●NEXT
●موقعي الشخصي
🚀 اكتشف الموقع الذي قمت ببنائه بعد 1000 ساعة من تطوير التطبيقات!

قد يبدو وكأنه لعبة، لكنه في الحقيقة موقع إلكتروني. لقد قضيت 1000 ساعة في تطوير تطبيق، وكانت تجربة شاقة للغاية، ولكن بفضل ذلك، تمكنت من تعلم الكثير. سأواصل تحديثه باستمرار، لذا أرجو دعمكم!
بالمناسبة، مفهوم هذا الموقع هو "دمج الاجتهاد الياباني في أكثر الطرق صرامة في العالم لدعم الناس في جميع أنحاء العالم بشكل كامل، من تحديد أحلامهم إلى تحقيقها!" هذه المنهجية تعتمد على خمسة أعمدة رئيسية: التعلم، الرياضة، النوم، التغذية، والوقت. وأنا الآن أطبقها على نفسي أيضًا!
وهناك شيء آخر! من خلال هذا الموقع، أطمح إلى العمل مع أولئك الذين يحققون أحلامهم هنا، لنقلب العالم رأسًا على عقب معًا! هذا ليس مجرد مكان للتحفيز، بل هو مساحة حقيقية لصقل المهارات، والتعاون لإطلاق شيء مذهل سيغير العالم.
إذن، ما رأيك؟ لنحقق حلمًا كبيرًا معًا!
コメント