# عنوان أول
عنوان أول
## عنوان ثاني
عنوان ثاني
### عنوان ثالث
عنوان ثالث
http://example.com
* عنصر أول ضمن قائمة
* عنصر ثاني ضمن قائمة
* عنصر ثالث ضمن قائمة
- عنصر أول ضمن قائمة
- عنصر ثاني ضمن قائمة
- عنصر ثالث ضمن قائمة
1. عنصر أول ضمن قائمة مرقمة
2. عنصر ثاني ضمن قائمة مرقمة
3. عنصر ثالث ضمن قائمة مرقمة
- عنصر أول ضمن قائمة مرقمة
- عنصر ثاني ضمن قائمة مرقمة
- عنصر ثالث ضمن قائمة مرقمة
> هذا اقتباس قاله شخص
هذا اقتباس قاله شخص
كلمة *غامقة* ضمن نص
كلمة غامقة ضمن نص
line 1 of code
line 2 of code
line 3 of code
line 2 of code
line 3 of code
line 1 of code
line 2 of code
line 3 of code
لاضافة صورة، ارفعها على موقع صور ثم أضف رابط الصورة في المكان الذي تريده. سيتحول الرابط لصورة تلقائياً بعد النشر. مثلاً: https://suar.me/ONn
مفيد للمبرمجين وغير المبرمجين، ولكن ساتطرق للفئة الاولى:
المبرمجين الفرديين: لأن كمية التغييرات التي يجريها المبرمج في الاعمال الحرة Freelancing قد تضيع أو تتكرر بشكل دوري
المبرمجين الذين يعملون عن بعد: لا يمكنني ان اشدد بما فيه الكفاية على اهمية الGit (وليس SVN) بالنسبة لفريق يعمل في عدة اماكن جغرافية.
فاذا كنت تحب السيطرة على جودة مشاريعك والوثوقية في العمل البرمجي، فانصح بالبدأ بتعلم استخدام Git اليوم. الحل الارخص Bitbucket
ممكن يكون مفيد لفرق المبرمجين العاملين على مشاريع ضخمة
ال Git مفيد حقا إذا كنت تعمل ضمن فريق، ولكن إذا كنت تعمل بنفسك. فأجده مضيعة للوقت فحسب
أستخدم دروب بوكس لمراقبة النسخ والنسخ الاحتياطي وما إلى ذلك. فهذا ما ستحتاج له إذا كنت تعمل لوحدك
بالتأكيد ستقوم بنسخ المشروع الى مشروع جديد. وهكذا أصبح لديك نسختان! نسخة لتجربة الخاصية الجديدة ونسخة مستقرة لمشروعك.
المشكلة ستظهر لك حين تقوم بالدمج بينهم. خاصة اذا قمت بالتعديل في أكثر من ملف لتطبيق التجربة التي تريدها. ستضيع وقتك في شيء يفترض أن يكون automated. (وهذا بفرض أنك قمت بعملية الدمج بشكل صحيح. غالبا ستخطئ بها خاصة في حالة تركت العمل عدة أيام على المشروع).
Professional Developer لا يضيع وقته في أمور تنجز بواسطة tools وبشكل أكثر احترافية.
هي حلول لكنها ليست professional. عبر git كل commit مسجلة ولا تضيع، ويمكنك العودة بمشروعك الى أي مرحلة.
ماذا لو كنت تطور مشروعك عبر أكثر من جهاز واحد. في العمل وفي المنزل مثلا! هنا سنعود الى مشكلة الدمج السابقة.
أخيرا، في مرحلة معينة ستحتاج الى ضم مطورين معك.
كل هذه الحالات هي (ماذا لو، ماذا لو)
نعم، أستطيع الاستفادة من هذه الأمور
لكن المشكلة التي تظهر فيه، هي دفع الملفات، سحبها، تصنيفها، سحبها مجددا. أو ارسالها الى المستودع. وكل هذه الأمور الثانوية التي تستغرق وقتا
لكن طبعا سأفكر في استخدامه في مشاريع اكبر، لكن حاليا، كل المشاريع صغيرة فلا حاجة له فعليا. إذ ان دوري ينتهي بعد اكمال HTML/CSS/JS ويبدأ دور المبرمج ثم يتم التسليم للعميل ولا نعود للمشروع غالبا
في الحقيقة لا أعرف كيف تكون هذه الأمور "الثانوية" تستغرق وقتًا! هل حقًا إيداع التغييرات بين حين وآخر بعد إتمام ميزة ما مضيعة للوقت؟ ألا يقدم حماية لك من أن تقوم بشيء خاطئ على سبيل التجربة ثم تقرر أنه لم يفلح وتعود للنسخة القديمة؟ في الأسلوب التقليدي سترمي الطريقة القديمة في ملف مؤقت في مكان ما ثم تجرب الجديدة ثم قد تفشل وتقرر العودة إلى النسخة السابقة التي نسيت أين وضعتها... ماذا لو أردت أن تعمل نسخة جديدة من المشروع بتغييرات كبيرة قد تشمل أساساته؟ هل ستبدأ بتغيير كل شيء دفعة واحدة أم تضيع وقتك في محاولة جعل الميزة القديمة كذا التي لم تغيرها بعد تتعامل مع القسم الجديد الذي أعدت كتابته؟ ماذا لو أمكنك الانتقال إلى فرع جديد branch وعمل ما تشاء من التغييرات دون خوف من فقد ميزة تعلم أنها مستقرة؟ ثم دمج هذه التغييرات دفعة واحدة بعد التأكد من تلاؤمها معًا في الفرع المستقر وإصدار النسخة الجديدة؟
كلامك شجعني لتجريب git قريبا
أعتقد أن المطورين يأخذون كل شيء على محمل الجد، وعندما تقول لهم "تعلموا Git"، فإنهم يتوقعون أن عليهم قراءة وفهم وتجربة كل الأوامر التي يتيحها Git، الأمر ينطبق على أي شيء جديد، أعتقد أن هذه مشكلة يواجهها المبرمجون المحترفون أكثر من غيرهم، لأنهم يقدّرون قيمة البرامج الجيدة ويفترضون أنه عليهم أن يعطوها كامل حقها؛ لو نظرت إلى الأمر من وجهة نظر "نفعية"، فإنه ليس عليك سوى تعلم 5 أو 6 أوامر في Git تتيح لك تنفيذ أكثر المهمات شيوعاً، كالإيداع والإرسال والجلب وإنشاء الفرو ودمجها. أما إن احتجت إلى مزايا إضافية، فيكفي أن تعلم أنها موجودة وممكنة، وستتعلمها عندما تحتاجها بالفعل (هذا يوفر وقتك، ويجعلك تتعلم بالتطبيق المباشر، ويخلصك من خوف تعلم الأشياء الجديدة).
لا وقت ولا شيء، ابحث عن "الأمر" عند حاجتك له، وستجد نفسك بعد فترة صرت تحفظ الأوامر عن ظهر قلب..