إذا بدأت تتعلم البرمجة أو تصميم المواقع، فغالبًا ستسمع نصيحة تتكرر كثيرًا: "ارفع مشاريعك على GitHub".
لكن أول مرة تدخل فيها المنصة قد تشعر أن المصطلحات كثيرة: Repository، Commit، Branch، Push، Clone، وغيرها. والحقيقة أن رفع أول مشروع على GitHub أبسط مما يبدو، ولا تحتاج إلى أن تكون مطورًا محترفًا حتى تبدأ.
في هذا الدليل ستتعلم بطريقة سهلة كيف ترفع أول مشروع أو ملف لك على GitHub، سواء من خلال الموقع نفسه أو باستخدام Git من جهازك، مع أهم الخطوات التي تجعل مستودعك مرتبًا وواضحًا من البداية.
ما الذي تحتاجه قبل أن تبدأ؟
قبل رفع أول مشروع، تحتاج إلى ثلاثة أشياء أساسية:
حساب على GitHub.
الملفات أو المشروع الذي تريد رفعه.
معرفة بسيطة بطريقة تنظيم الملفات.
وإذا كنت تريد استخدام Git من جهازك، ستحتاج أيضًا إلى تثبيت Git.
ما هو Repository؟
الـRepository أو المستودع هو المكان الذي تحفظ فيه مشروعك على GitHub.
يمكن أن يحتوي على:
ملفات الكود.
الصور.
ملفات الإعدادات.
التوثيق.
تاريخ التعديلات.
يمكن اعتبار Repository مجلد المشروع ولكن مع نظام كامل لتتبع الإصدارات والتعاون.
الخطوة الأولى: إنشاء حساب GitHub
ابدأ بإنشاء حساب على GitHub إذا لم يكن لديك حساب بالفعل.
اختر اسم مستخدم مناسبًا، خصوصًا إذا كنت تخطط لاستخدام الحساب ضمن Portfolio مهني.
يفضل أن يكون الاسم:
بسيطًا.
سهل القراءة.
قريبًا من اسمك أو هويتك المهنية.
الخطوة الثانية: إنشاء Repository جديد
بعد تسجيل الدخول، يمكنك إنشاء مستودع جديد.
ستحتاج إلى تحديد:
اسم المشروع
اختر اسمًا واضحًا.
مثل:
portfolio-website
بدل:
project1
الاسم الواضح يجعل المشروع مفهومًا لأي شخص يراه.
وصف المشروع
اكتب وصفًا قصيرًا يشرح وظيفة المشروع.
مثل:
"Personal portfolio website built with HTML, CSS and JavaScript."
Public أم Private؟
Public
يعني أن المشروع يمكن للآخرين رؤيته.
مناسب لـ:
المشاريع التعليمية.
Portfolio.
مشاريع Open Source.
Private
يكون الوصول إليه محدودًا.
مناسب لـ:
مشاريع العملاء.
الأكواد الخاصة.
المشاريع غير الجاهزة للنشر العام.
هل تختار Initialize with README؟
إذا كنت تبدأ مشروعًا من GitHub مباشرة، يمكنك إنشاء ملف README.
أما إذا كان لديك مشروع جاهز على جهازك وسترفعه باستخدام Git، فيمكنك إنشاء المستودع بدون ملفات أولية لتقليل احتمالية ظهور تعارضات في أول Push.
الطريقة الأولى: رفع الملفات مباشرة من موقع GitHub
هذه أسهل طريقة للمبتدئين إذا كان لديك عدد قليل من الملفات.
بعد إنشاء Repository:
افتح المستودع.
اختر إضافة أو رفع ملفات.
حدد الملفات من جهازك.
انتظر انتهاء الرفع.
اكتب رسالة توضح التغيير.
احفظ التعديلات.
وهكذا يصبح المشروع موجودًا على GitHub.
متى تكون طريقة الرفع من المتصفح مناسبة؟
مناسبة عندما:
المشروع صغير.
تريد رفع ملفات قليلة.
لا تريد استخدام الأوامر.
ما زلت تتعلم Git.
لكن مع المشاريع الأكبر، الأفضل تعلم استخدام Git.
ما هو Commit؟
الـCommit هو تسجيل لمجموعة من التعديلات داخل تاريخ المشروع.
يمكن اعتباره نقطة حفظ.
مثلًا:
Add homepage files
أو:
Fix navigation menu
بدل كتابة:
update
يفضل أن تشرح باختصار ما الذي قمت بتغييره.
لماذا رسائل Commit مهمة؟
لأنها تساعدك لاحقًا على معرفة تاريخ المشروع.
إذا كنت تعمل مع فريق، فهي تساعد الآخرين أيضًا على فهم التعديلات بدون فتح كل ملف.
الطريقة الثانية: رفع مشروع باستخدام Git
هذه الطريقة هي الأكثر شيوعًا في المشاريع البرمجية.
العملية بشكل مبسط تكون:
مشروع على جهازك
→ Git
→ GitHub.
الخطوة الأولى: افتح مجلد المشروع
افتح المشروع داخل Terminal أو Command Prompt أو الطرفية الموجودة داخل محرر الكود.
تأكد أنك داخل المجلد الصحيح.
الخطوة الثانية: تهيئة Git داخل المشروع
استخدم الأمر:
git init
هذا الأمر يخبر Git أن هذا المجلد سيصبح Repository محليًا.
الخطوة الثالثة: معرفة حالة الملفات
استخدم:
git status
سيعرض لك الملفات التي:
تم تعديلها.
لم تتم إضافتها.
جاهزة للحفظ.
هذا من أكثر الأوامر التي ستستخدمها أثناء العمل.
الخطوة الرابعة: إضافة الملفات
لإضافة جميع ملفات المشروع إلى مرحلة التجهيز، يمكنك استخدام:
git add .
النقطة تعني إضافة التغييرات الموجودة في المجلد الحالي.
الخطوة الخامسة: إنشاء أول Commit
استخدم:
git commit -m "Initial commit"
ومعنى ذلك تسجيل النسخة الأولى من المشروع.
يمكنك تغيير الرسالة إلى شيء أوضح مثل:
git commit -m "Add initial website files"
الخطوة السادسة: ربط المشروع بـGitHub
بعد إنشاء Repository على GitHub، ستحتاج إلى ربط المستودع المحلي بالمستودع الموجود على GitHub.
عادة يكون الأمر بالشكل التالي:
git remote add origin <repository-url>
استبدل <repository-url> بعنوان المستودع الخاص بك.
ما معنى origin؟
origin هو الاسم الشائع الذي يستخدم للإشارة إلى المستودع البعيد على GitHub.
يمكن تغييره، لكن أغلب المشاريع تستخدم هذا الاسم افتراضيًا.
الخطوة السابعة: التأكد من اسم الفرع الرئيسي
الكثير من المشاريع الحديثة تستخدم:
main
إذا احتجت إلى تسمية الفرع الحالي باسم main، يمكن استخدام:
git branch -M main
الخطوة الثامنة: رفع المشروع
بعد ذلك استخدم:
git push -u origin main
هذا الأمر يرسل الملفات والتعديلات إلى GitHub.
بعد نجاح العملية، افتح صفحة Repository وستجد ملفاتك هناك.
ماذا يعني Push؟
Push يعني إرسال التعديلات الموجودة على جهازك إلى المستودع البعيد.
بمعنى:
جهازك → GitHub.
ماذا يعني Pull؟
Pull يعني جلب التغييرات الجديدة من GitHub إلى جهازك.
بمعنى:
GitHub → جهازك.
يصبح هذا مهمًا جدًا عندما تعمل من أكثر من جهاز أو مع فريق.
دورة العمل اليومية بعد رفع المشروع
بعد أول رفع، لن تحتاج إلى إعادة كل الخطوات السابقة.
غالبًا ستعمل بهذه الدورة:
تعدل الملفات.
تستخدم git status.
تستخدم git add ..
تنشئ Commit.
تستخدم git push.
مثال:
git add .
ثم:
git commit -m "Update contact section"
ثم:
git push
ما هو README ولماذا يجب أن تضيفه؟
README من أهم الملفات في أي مشروع GitHub.
عادة يكون اسمه:
README.md
ويظهر في الصفحة الرئيسية للمستودع.
يفضل أن يحتوي على:
اسم المشروع.
وصف قصير.
التقنيات المستخدمة.
طريقة التشغيل.
صور أو أمثلة عند الحاجة.
نموذج بسيط لـREADME
يمكن أن تكتب:
# My Portfolio
ثم وصفًا مثل:
A responsive personal portfolio website built using HTML, CSS and JavaScript.
ثم تضيف:
Features.
Technologies.
Installation.
Usage.
كلما كان README واضحًا، ظهر مشروعك بصورة أكثر احترافية.
ما هو Markdown؟
ملفات README غالبًا تستخدم لغة تنسيق بسيطة تسمى Markdown.
مثلًا:
# للعناوين الرئيسية.
## للعناوين الفرعية.
- للقوائم.
ويمكن استخدامها لكتابة Documentation بشكل مرتب.
أضف وصفًا واضحًا للمشروع
من الأخطاء الشائعة رفع Repository بدون أي وصف.
إذا دخل شخص إلى مشروعك يجب أن يستطيع خلال ثوانٍ معرفة:
ماذا يفعل المشروع؟
لماذا تم إنشاؤه؟
ما التقنيات المستخدمة؟
الوصف البسيط يفرق كثيرًا في شكل الحساب.
لا ترفع كل شيء إلى GitHub
هناك ملفات لا تحتاج إلى رفعها.
مثل:
ملفات مؤقتة.
مجلدات Dependencies التي يمكن إعادة تثبيتها.
ملفات إعداد محلية.
بيانات سرية.
هنا يأتي دور:
.gitignore
ما هو .gitignore؟
ملف يخبر Git بالملفات والمجلدات التي يجب تجاهلها.
مثلًا في بعض مشاريع JavaScript قد ترغب في تجاهل:
node_modules
بدل رفع آلاف الملفات غير الضرورية.
أهم شيء: لا ترفع كلمات المرور
لا ترفع أبدًا معلومات مثل:
Passwords.
API Keys.
Tokens.
مفاتيح قواعد البيانات.
حتى لو كان المشروع للتجربة.
إذا رفعت مفتاحًا سريًا بالخطأ، لا يكفي غالبًا حذف الملف فقط، بل يجب إلغاء المفتاح القديم وإنشاء واحد جديد لأن البيانات قد تكون موجودة في تاريخ Git.
استخدم ملف Environment للبيانات الحساسة
في كثير من المشاريع يتم وضع القيم الحساسة داخل ملفات مثل:
.env
ثم تتم إضافة هذا الملف إلى .gitignore.
ويمكن إنشاء ملف مثال مثل:
.env.example
يوضح أسماء المتغيرات بدون وضع القيم السرية.
كيف تجعل أول مشروع يبدو احترافيًا؟
لا يكفي فقط رفع الملفات.
اهتم بعدة تفاصيل.
اسم واضح
تجنب أسماء مثل:
test123
README جيد
اشرح المشروع.
ملفات مرتبة
ضع الملفات داخل مجلدات منطقية.
Commit Messages واضحة
اشرح كل تحديث.
لا تترك ملفات عشوائية
نظف المشروع قبل النشر.
تنظيم ملفات المشروع
على سبيل المثال في موقع بسيط قد تجد:
ملف HTML.
مجلد CSS.
مجلد JavaScript.
مجلد Images.
تنظيم المشروع يجعل الكود أسهل للفهم.
كيف ترفع مشروعًا من VS Code؟
يمكن استخدام Git مباشرة داخل Visual Studio Code.
عادة تستطيع:
مشاهدة الملفات المعدلة.
إضافةها إلى Stage.
كتابة Commit.
Push.
كل ذلك من واجهة Source Control.
وهذا مناسب لمن لا يحب استخدام Terminal طوال الوقت.
هل استخدام الواجهة أفضل من الأوامر؟
الاثنان جيدان.
لكن تعلم الأوامر الأساسية مهم لأنه يساعدك على فهم ما يحدث فعلًا.
ابدأ بالأوامر التالية:
git status
git add
git commit
git push
git pull
هذه الأوامر تكفي لكثير من الاستخدامات اليومية للمبتدئ.
ما معنى Clone؟
إذا كان المشروع موجودًا على GitHub وتريد تنزيل نسخة منه على جهازك، تستخدم:
git clone
مثل:
git clone <repository-url>
سيتم تنزيل المشروع مع تاريخ Git الخاص به.
الفرق بين Download ZIP وClone
Download ZIP
ينزل الملفات فقط تقريبًا للاستخدام العادي.
Clone
ينشئ نسخة مرتبطة بمستودع Git، ويمكنك متابعة التعديلات والتعامل معها باستخدام Git.
إذا كنت ستطور المشروع، Clone هو الخيار الأفضل عادة.
ما هو Branch ولماذا تحتاجه؟
الـBranch هو مسار منفصل داخل المشروع.
تخيل أنك تريد إضافة ميزة جديدة لكنك لا تريد تعديل النسخة الرئيسية مباشرة.
تنشئ Branch.
مثل:
feature-contact-form
ثم تعمل داخله.
بعد نجاح التغييرات يمكن دمجها لاحقًا.
هل تحتاج Branches في أول مشروع؟
إذا كنت مبتدئًا ومشروعك صغير، يمكنك البدء بالفرع الرئيسي.
لكن من المهم تعلم Branches لاحقًا لأنها أساسية في العمل الجماعي.
ما هو Pull Request؟
عندما تعمل على Branch وتريد دمج التعديلات مع الفرع الرئيسي، يمكن إنشاء Pull Request.
هذا يسمح لك أو للفريق بمراجعة:
التغييرات.
الكود.
التعليقات.
قبل الدمج.
ما معنى Merge؟
Merge يعني دمج التعديلات من Branch إلى Branch آخر.
مثل:
feature-login
→
main
كيف ترفع تحديثًا جديدًا؟
لنفترض أنك غيرت لون الموقع.
استخدم:
git status
ثم:
git add .
ثم:
git commit -m "Update website colors"
ثم:
git push
وسيظهر التحديث على GitHub.
ماذا تفعل إذا رفض GitHub عملية Push؟
قد يحدث ذلك إذا كان المستودع البعيد يحتوي على تغييرات ليست موجودة على جهازك.
في بعض الحالات ستحتاج أولًا إلى جلب التغييرات.
مثل:
git pull
ثم حل أي تعارض إن وجد، وبعد ذلك Push من جديد.
لا تنفذ أوامر لا تفهمها فقط لأنها ظهرت في أول نتيجة بحث، خاصة في مشروع مهم.
ما هو Merge Conflict؟
يحدث التعارض عندما توجد تغييرات مختلفة في نفس الجزء من الملف ولا يستطيع Git تحديد أي نسخة يجب اعتمادها تلقائيًا.
عندها تحتاج إلى مراجعة الملف واختيار التغيير الصحيح يدويًا.
كيف تتجنب التعارضات؟
اسحب أحدث التغييرات قبل بدء العمل.
استخدم Branches.
لا تجعل عدة أشخاص يعدلون نفس الجزء في الوقت نفسه قدر الإمكان.
اعمل Commits صغيرة وواضحة.
لا تجعل كل المشروع Commit واحدًا
في البداية قد يكون أول Commit كبيرًا طبيعيًا.
لكن بعد ذلك حاول تقسيم العمل.
بدل تنفيذ عشر مميزات ثم كتابة:
big update
استخدم Commits مثل:
Add login page
ثم:
Fix mobile navigation
ثم:
Update footer links
هذا يجعل تاريخ المشروع أكثر فائدة.
كيف تختار رسالة Commit احترافية؟
اجعلها قصيرة ومباشرة.
أمثلة جيدة:
Add contact form
Fix login validation
Update README
Remove unused images
أمثلة ضعيفة:
stuff
test
changes
final final
هل يمكن حذف ملف من GitHub؟
نعم.
يمكن حذف الملفات من الموقع أو من المشروع المحلي ثم تسجيل التغيير ورفعه.
إذا حذفت ملفًا محليًا ثم استخدمت Git، سيظهر الحذف كتغيير يمكن تسجيله داخل Commit.
هل يمكن تعديل ملف مباشرة على GitHub؟
نعم، في بعض الحالات يمكن تعديل الملفات النصية مباشرة من واجهة GitHub.
هذا مناسب للتغييرات البسيطة مثل:
تعديل README.
تصحيح خطأ كتابي.
لكن تعديل المشروع محليًا أفضل عادة عند إجراء تغييرات كبيرة.
كيف تعرض موقعك باستخدام GitHub Pages؟
إذا كان لديك موقع Static بسيط، يمكن استخدام GitHub Pages في بعض الحالات لنشره.
مناسب لمشاريع مثل:
Portfolio.
Landing Page.
Documentation.
مشاريع HTML وCSS وJavaScript.
بعد الإعداد تحصل على رابط يمكن من خلاله مشاهدة الموقع.
GitHub كـPortfolio
إذا كنت تبحث عن وظيفة أو عمل حر، حاول ألا يكون حسابك مجرد عشرات المستودعات العشوائية.
ركز على عدد من المشاريع الجيدة.
اهتم بـ:
أسماء المشاريع.
الوصف.
README.
تنظيم الكود.
جودة المشروع.
ثلاثة مشاريع مرتبة قد تكون أفضل من عشرين مشروعًا بلا توثيق.
هل يجب أن يكون كل مشروع Public؟
لا.
لا تنشر:
مشاريع العملاء بدون إذن.
الأكواد السرية.
البيانات الخاصة.
المشاريع التي لا تملك حق نشرها.
اجعل Public فقط ما يمكنك مشاركته بصورة قانونية وآمنة.
خطوات سريعة لرفع أول مشروع
إذا أردت تلخيص العملية باستخدام Git:
أنشئ Repository على GitHub.
افتح مجلد المشروع.
نفذ git init.
نفذ git add ..
نفذ git commit.
اربط Remote.
حدد الفرع الرئيسي.
نفذ git push.
راجع المشروع على GitHub.
أضف README ووصفًا واضحًا.
أخطاء شائعة عند رفع أول مشروع
رفع أسرار داخل الكود
أخطر خطأ.
إنشاء Repository باسم غير واضح
اختر اسمًا يعبر عن المشروع.
عدم إضافة README
يجعل المشروع أقل وضوحًا.
كتابة Commit Messages عشوائية
تقلل قيمة تاريخ المشروع.
رفع ملفات لا يحتاجها المشروع
استخدم .gitignore.
نسخ أوامر بدون فهم
قد يؤدي ذلك إلى حذف أو الكتابة فوق تغييرات مهمة.
Checklist قبل جعل المشروع Public
راجع هذه النقاط:
هل اسم المشروع واضح؟
هل يوجد وصف؟
هل يوجد README؟
هل توجد كلمات مرور؟
هل توجد API Keys؟
هل الملفات مرتبة؟
هل يعمل المشروع؟
هل لديك حق نشر الملفات؟
هل روابط المشروع تعمل؟
إذا كانت الإجابات جيدة، فالمشروع أقرب لأن يكون جاهزًا للنشر.
أسئلة شائعة حول رفع المشاريع على GitHub
هل يمكن رفع أي نوع من الملفات على GitHub؟
يمكن رفع أنواع كثيرة من الملفات، لكن GitHub موجه بشكل أساسي للكود والملفات المرتبطة بالمشاريع. كما توجد حدود واعتبارات خاصة بالملفات الكبيرة.
هل يجب أن أعرف Git قبل استخدام GitHub؟
يمكنك البدء من واجهة GitHub، لكن تعلم أساسيات Git سيجعل استخدامك للمنصة أفضل بكثير.
هل رفع المشروع على GitHub يعني نشر الموقع؟
لا. رفع الملفات إلى Repository لا يعني أن الموقع أصبح منشورًا على الإنترنت كصفحة تعمل. تحتاج إلى خدمة استضافة أو استخدام GitHub Pages للمشاريع المناسبة.
هل يمكن جعل Repository خاصًا؟
نعم، ويمكنك التحكم في الأشخاص الذين لديهم حق الوصول وفق إعدادات المشروع والحساب.
هل يمكن تغيير Repository من Private إلى Public؟
يمكن ذلك من الإعدادات في الحالات التي تسمح بها المنصة، لكن يجب مراجعة الملفات جيدًا قبل جعل المشروع عامًا.
ما أهم ملف أضيفه إلى المشروع؟
README من أهم الملفات لأنه يشرح المشروع، بينما .gitignore مهم جدًا أيضًا لمنع رفع الملفات غير الضرورية أو الحساسة.
كم مرة يجب أن أعمل Commit؟
لا توجد قاعدة ثابتة، لكن الأفضل عمل Commit عند إكمال تغيير منطقي واضح بدل جمع تغييرات كثيرة غير مرتبطة في Commit واحد.
هل GitHub مفيد لو كنت أتعلم فقط؟
نعم، لأنه يساعدك على حفظ مشاريعك ومتابعة تطورك والتعود على طريقة العمل المستخدمة في كثير من فرق البرمجة.
خاتمة
رفع أول مشروع على GitHub قد يبدو معقدًا في البداية بسبب كثرة المصطلحات، لكن بمجرد فهم الخطوات الأساسية ستجد أن العملية بسيطة جدًا.
ابدأ بإنشاء Repository واضح، نظم ملفات مشروعك، أنشئ Commits مفهومة، وتأكد من عدم رفع أي بيانات حساسة. وبعد أن تتعود على رفع التعديلات باستخدام Git، انتقل تدريجيًا إلى تعلم Branches وPull Requests والعمل الجماعي.
ولا تجعل هدفك مجرد "رفع الملف على GitHub". حاول أن تجعل المستودع نفسه يمثل مشروعك بصورة احترافية من خلال README جيد، أسماء واضحة، تنظيم الملفات، وتاريخ تعديلات مفهوم.
بهذه الطريقة لن يكون GitHub مجرد مكان لحفظ الكود، بل سجلًا حقيقيًا لتطور مهاراتك ومشاريعك كمطور.
0 Comments