كيف تبدأ Git وGitHub بعد أساسيات بايثون؟ | بايثون بعد الأساسيات 10

تعلم Git وGitHub بعد أساسيات بايثون للمبتدئين

بعد أن تبدأ ببناء مشاريع بايثون حقيقية، من الأفضل أن تتعلم أساسيات Git ثم GitHub. Git يتتبع تغييرات ملفات مشروعك على جهازك ويحفظ مراحل العمل على شكل Commits، أما GitHub فهو منصة تستضيف مستودعات Git على الإنترنت لتتمكن من حفظ المشروع ومشاركته والتعاون عليه.

هذا هو الدرس 10 من سلسلة بايثون بعد الأساسيات، وسنركز فيه على Workflow واحد عملي: مشروع بايثون محلي → Git → أول Commit → GitHub → أول Push.

{alertInfo} لا تحتاج إلى إتقان كل أوامر Git الآن. إذا فهمت status وadd وcommit وpush، فأنت تملك أساسًا جيدًا للبدء.

{getToc} $title={محتوى المقال}

لماذا تحتاج Git بعد أساسيات بايثون؟

عندما يبدأ المشروع في النمو قد تجد نفسك تحفظ نسخًا بهذه الطريقة:

project.py
project-final.py
project-final2.py
project-final-last.py

هذه الطريقة لا تخبرك بوضوح ماذا تغير في كل نسخة، وقد تصبح مربكة بسرعة. مع Git تعمل على نفس المشروع، ثم تحفظ نقاطًا مهمة في تاريخه باسم Commits.

Git ليس مجرد Backup؛ وظيفته الأساسية تتبع تاريخ التغييرات في المشروع، بينما النسخ الاحتياطي له هدف أوسع لحماية الملفات من الفقد.

ما الفرق بين Git وGitHub؟

GitGitHub
يعمل محليًا على جهازك.يستضيف المستودعات على الإنترنت.
يتتبع تغييرات الملفات.يساعد على المشاركة والتعاون.
ينشئ Commits ويحفظ التاريخ.يعرض الملفات وCommits عبر الويب.
يمكن استخدامه بدون GitHub.يستضيف مستودعات Git.
الفرق بين Git وGitHub للمبتدئين في مشاريع بايثون

ماذا تحتاج قبل البدء؟

  • مشروع بايثون صغير.
  • Git مثبت على جهازك.
  • Terminal أو CMD أو PowerShell.
  • حساب GitHub إذا أردت رفع المشروع.

تحقق من تثبيت Git

git --version

إذا ظهر رقم إصدار، فـGit جاهز. إذا كان الأمر غير معروف، فغالبًا Git غير مثبت أو لم يُضف إلى PATH.

أنشئ مشروعًا بسيطًا للتجربة

my-python-project/
│
├── main.py
└── README.md

انتقل إلى المجلد من Terminal. الأمر cd يعني تغيير المجلد الحالي:

cd my-python-project

حوّل المجلد إلى Git Repository

git init

الآن أصبح المجلد مستودع Git محليًا. Git ينشئ بياناته الداخلية في مجلد مخفي باسم .git، ولا تحتاج إلى تعديله يدويًا.

استخدم git status باستمرار

git status

يخبرك git status بالملفات الجديدة والمعدلة، وما تم تجهيزه للـCommit، وحالة المستودع الحالية.

ما وظيفة git add؟

لتجهيز ملف واحد:

git add main.py

ولتجهيز جميع التغييرات داخل المشروع:

git add .
{alertWarning} git add . لا يرفع الملفات إلى GitHub. هو يجهز التغييرات للـCommit المحلي. راجع git status أولًا حتى لا تضيف ملفات حساسة أو غير مطلوبة.

أنشئ أول Commit

git commit -m "Add first Python program"

الـCommit نقطة محفوظة في تاريخ المشروع، وتحمل التغييرات التي جهزتها ورسالة تصف ما حدث.

إذا طلب Git اسمك وبريدك

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

هذه البيانات ترتبط بهوية Commits. استخدم الاسم والبريد المناسبين لك، ولا تنسخ القيم التجريبية كما هي.

دورة العمل الأساسية في Git

عدّل الملفات
↓
git status
↓
git add
↓
git commit

وعندما يكون لديك Repository بعيد على GitHub تضيف:

git push
دورة العمل الأساسية في Git من تعديل الملفات حتى git push

أنشئ .gitignore قبل رفع مشروع بايثون

بعض الملفات لا يجب أن تدخل المستودع أصلًا:

__pycache__/
*.pyc
.venv/
venv/
.env

مجلدات .venv/ وvenv/ تحتوي بيئة افتراضية محلية ولا تُرفع عادة إلى GitHub. أما .env فقد يحتوي API Keys أو Tokens أو كلمات مرور، لذلك يجب عدم رفعه إلى Repository عام.

ملفات ومجلدات لا يجب رفعها إلى GitHub في مشروع بايثون

إذا كنت تستخدم مكتبات خارجية، احفظ المتطلبات بدل رفع البيئة الافتراضية:

python -m pip freeze > requirements.txt

لشرح أوسع راجع شرح البيئة الافتراضية venv في بايثون.

أنشئ Repository على GitHub

أنشئ مستودعًا جديدًا باسم واضح مثل my-python-project، واختر Public أو Private حسب حاجتك.

إذا كان مشروعك المحلي يحتوي ملفات وCommit بالفعل، فالأبسط عند أول ربط إنشاء Repository بعيد فارغ، ثم نسخ رابط المستودع. هذا يتجنب وجود تاريخ مختلف في الطرفين قبل أول Push.

اربط المشروع المحلي بـGitHub

git remote add origin https://github.com/USERNAME/my-python-project.git

origin اسم شائع للرابط البعيد الرئيسي. للتحقق من الروابط:

git remote -v

استخدم الفرع main

git branch -M main

هذا يعيد تسمية الفرع الحالي إلى main.

نفّذ أول Push إلى GitHub

git push -u origin main

بعد أول مرة، يكفي غالبًا:

git push
الأمروظيفته
git addيجهز التغييرات للـCommit.
git commitيحفظ نقطة جديدة في التاريخ المحلي.
git pushيرسل Commits المحلية إلى GitHub.

مثال عملي كامل مع calculator.py

def add(a, b):
    return a + b


print(add(5, 3))

ثم نفذ:

git status
git add calculator.py
git commit -m "Add calculator"
git push

بعدها أضف دالة جديدة:

def add(a, b):
    return a + b


def divide(a, b):
    return a / b


print(add(5, 3))

ثم احفظ المرحلة الجديدة:

git status
git add calculator.py
git commit -m "Add division function"
git push

هذا هو Workflow الذي ستكرره كثيرًا: تعدّل، تراجع، تجهز، تنشئ Commit، ثم Push.

لماذا يحتاج المشروع README.md؟

  • اسم المشروع.
  • ما الذي يفعله؟
  • طريقة التشغيل.
  • المتطلبات.
  • مثال استخدام.

ماذا ترفع إلى GitHub وماذا تستبعد؟

ارفع عادةلا ترفع عادة
ملفات .py.venv/ وvenv/
README.md__pycache__/
requirements.txt*.pyc
ملفات المشروع الضرورية.env والأسرار وAPI Keys

نسخ مشروع موجود باستخدام git clone

git clone https://github.com/USERNAME/project.git

ينشئ Git نسخة محلية من المستودع مع تاريخه.

جلب التغييرات باستخدام git pull

git pull

git pull يجلب التغييرات من المستودع البعيد ويحدث الفرع المحلي. تعارضات الدمج موضوع لاحق.

ماذا تتعلم بعد هذا الدرس؟

بعد أن تتقن Workflow الأساسي، انتقل إلى Branch وMerge. لا تحتاج الآن إلى Rebase أو استراتيجيات متقدمة.

هل GitHub Desktop مناسب؟

نعم، يمكن أن يكون خيارًا بصريًا مريحًا. لكن الأفضل أن تفهم أولًا معنى status وadd وcommit وpush حتى تعرف ما يحدث خلف الواجهة.

أخطاء المبتدئين مع Git وGitHub

  • تنفيذ git init في المجلد الخطأ: تحقق من مسارك.
  • استخدام git add . دون مراجعة: نفذ git status أولًا.
  • رفع .env: قد يكشف أسرارًا حقيقية.
  • رفع venv: استبعد البيئة واستخدم requirements.txt.
  • نسيان commit قبل push: Push يرسل Commits؛ لا ينشئها.
  • رسائل Commit غير مفيدة: اكتب وصفًا واضحًا بدل update دائمًا.
  • الخلط بين add وcommit وpush: لكل أمر مرحلة مختلفة.
  • اعتبار GitHub هو Git: Git يعمل محليًا حتى بدون GitHub.

GitHub ليس بديلًا كاملًا عن النسخ الاحتياطي

Git وGitHub ممتازان لتتبع الكود واستضافته، لكن الملفات المهمة قد تحتاج Backup منفصلًا، خصوصًا البيانات التي لا تدخل المستودع.

روابط داخلية مفيدة من بايثون العرب

ويمكنك الاطلاع على مستودعات بايثون العرب على GitHub كمثال عملي على تنظيم ملفات الدروس والمشاريع.

الخلاصة

بعد أن تتجاوز أساسيات بايثون وتبدأ مشاريع حقيقية، تعلم Git عبر دورة العمل الأساسية: status ثم add ثم commit. وبعد ربط المشروع بـGitHub استخدم push لمشاركة Commits.

احرص أيضًا على .gitignore جيد، ولا ترفع .env أو البيئة الافتراضية، واكتب رسائل Commit واضحة.

{alertSuccess} المسار المختصر: مشروع بايثون → git initgit statusgit addgit commit → GitHub → git push.

أسئلة شائعة

ما الفرق بين Git وGitHub؟

Git نظام محلي لتتبع تغييرات المشروع وإنشاء Commits، بينما GitHub منصة لاستضافة مستودعات Git ومشاركتها والتعاون عليها.

هل أحتاج Git لتعلم بايثون؟

لا تحتاجه في بداية الأساسيات، لكنه يصبح مهمًا عندما تبدأ مشاريع تريد تطويرها وحفظ تاريخها ومشاركتها.

متى أبدأ تعلم Git؟

ابدأ عندما تستطيع إنشاء مشروع بايثون صغير وتبدأ تعديله على مراحل.

كيف أرفع مشروع بايثون إلى GitHub؟

استخدم git init، أنشئ Commit، أنشئ Repository على GitHub، أضف الرابط بـgit remote add origin، ثم نفذ git push -u origin main.

هل أرفع مجلد venv إلى GitHub؟

عادة لا. أضف venv/ أو .venv/ إلى .gitignore واستخدم requirements.txt.

ما الفرق بين git add وcommit وpush؟

git add يجهز التغييرات، وgit commit يحفظها محليًا، وgit push يرسل Commits إلى المستودع البعيد.

هل GitHub بديل عن Git؟

لا. Git هو نظام إدارة الإصدارات نفسه، ويمكن استخدامه بدون GitHub. GitHub خدمة تستضيف مستودعات Git.

إرسال تعليق

أحدث أقدم