الـ push وخياراته¶
الـ push في ليڤانت غيت (LevantGit) يفعل أكثر من رفع الـ commits: بعد أول push لـ branch جديد تظهر في الطرفية رسالة فيها رابط جاهز لفتح pull request، وتستطيع تمرير خيارات مع الأمر تغيّر إعدادات الـ repository دون فتح المتصفح، بل وإنشاء repository جديد بالـ push وحده إن كان ذلك مفعّلاً على الخادم.
نفترض أنك تعرف الحلقة اليومية (git add ثم git commit ثم git push). إن لم تكن كذلك ابدأ من
دورة العمل اليومية.
فتح pull request من رسالة الـ push¶
عندما تنفّذ push لـ commits إلى branch غير الـ default branch للمرة الأولى، يطبع ليڤانت غيت في الطرفية رابطًا يشبه هذا:
remote:
remote: Create a new pull request for 'feature/login':
remote: https://levantgit.com/username/repo/compare/main...feature/login
remote:
افتح الرابط في المتصفح تصل إلى صفحة المقارنة بين branchك والـ default branch، ومن هناك
تنشئ الـ pull request بضغطة واحدة. وإن أردت أن تستهدف branch آخر غير main فغيّره من القائمة في
أعلى الصفحة نفسها.
نصيحة
في معظم الطرفيات الحديثة يكفي أن تضغط على الرابط مع زر Ctrl (أو Cmd على ماك) ليُفتح في المتصفح.
push options¶
يتيح Git تمرير خيارات إلى الخادم مع كل push عبر العلم -o. يفهم ليڤانت غيت خيارين منها:
repo.private(trueأوfalse): يغيّر ظهور الـ repository بين public و private. مفيد خاصة مع push-to-create الذي نشرحه بعد قليل.repo.template(trueأوfalse): يحدد هل الـ repository هو template repository أم لا.
مثال يجعل الـ repository عامًا أثناء الـ push:
ويمكنك تمرير أكثر من خيار في الأمر نفسه:
ملاحظة
لا تعمل هذه الخيارات إلا إذا كنت owner للـ repository أو لك صلاحية مدير عليه. وهي تغيّر الإعداد نفسه الذي تجده في Settings، فلا فرق بين الطريقتين سوى السرعة.
push-to-create¶
الـ push-to-create ميزة تسمح لك بتنفيذ push إلى repository غير موجود بعد على ليڤانت غيت، فيُنشَأ تلقائيًا باسم المسار الذي نفّذت الـ push إليه. تفيد في الأتمتة وفي توفير خطوة إنشاء الـ repository من الواجهة. هذه الميزة تعتمد على إعداد في الخادم، فاستخدمها إن كانت مفعّلة على levantgit.com؛ وإن لم تكن فستصلك رسالة خطأ بأن الـ repository غير موجود، وعندها أنشئه من الواجهة كالمعتاد.
بافتراض أن عندك repository في المجلد الحالي، نفّذ:
# Add the remote you want to push to
git remote add origin [email protected]:{username}/{repo name that does not exist yet}.git
# push to the remote
git push -u origin main
استبدل {username} باسم حسابك و{repo name that does not exist yet} بالاسم الذي تريده للـ
repository الجديد. المثال يستخدم remote عبر SSH، ويلزمه أن يكون مفتاح SSH
مضافًا إلى حسابك؛ ويمكنك استخدام HTTPS بالطريقة نفسها:
git remote add origin https://levantgit.com/{username}/{repo name that does not exist yet}.git
git push -u origin main
ظهور الـ repository الجديد (public أو private) يحدده إعداد الخادم الافتراضي. إن أردت أن تحسمه
بنفسك فأضف خيار الـ push repo.private إلى الأمر:
تنبيه
يمكن للـ organizations أيضًا أن تستقبل push-to-create إن كان مفعّلاً لها على الخادم، وبشرط أن تكون عضوًا في الـ organization. إن فشل الـ push فتحقّق أولًا من الاسم والصلاحيات قبل أن تفترض أن الميزة معطّلة.
ماذا بعد؟¶
- الـ branches والـ pull requests: كيف تراجع الـ pull request وتدمجه بعد فتحه.
- Template repositories: ماذا يعني أن يكون الـ repository قالبًا، وكيف تستفيد منه.
- الأخطاء الشائعة: إن رفض الخادم الـ push أو ظهرت رسالة غير مفهومة.
هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.