انتقل إلى المحتوى

الـ 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:

git push -o repo.private=false -u origin main

ويمكنك تمرير أكثر من خيار في الأمر نفسه:

git push -o repo.private=true -o repo.template=true -u origin main

ملاحظة

لا تعمل هذه الخيارات إلا إذا كنت 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 إلى الأمر:

git push -o repo.private=true -u origin main

تنبيه

يمكن للـ organizations أيضًا أن تستقبل push-to-create إن كان مفعّلاً لها على الخادم، وبشرط أن تكون عضوًا في الـ organization. إن فشل الـ push فتحقّق أولًا من الاسم والصلاحيات قبل أن تفترض أن الميزة معطّلة.

ماذا بعد؟


هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.