# استخدام Git عبر SSH
Source: https://docs.webgee.com/ar/development/using-git-via-ssh



استخدم Git على حساب استضافتك عبر SSH. ينطبق على الاستضافة المشتركة والموزِّعة مع
تفعيل SSH.

Git مثبَّت، لكنه **ليس في `PATH` لديك**، فـ `git` وحده يعيد `command not found`.
وتلك هي الصعوبة كلها.

## المسار الكامل [#المسار-الكامل]

```bash
/usr/local/cpanel/3rdparty/bin/git
```

مثلًا:

```bash
/usr/local/cpanel/3rdparty/bin/git clone https://github.com/example/repo.git
/usr/local/cpanel/3rdparty/bin/git status
```

## اجعله دائمًا [#اجعله-دائمًا]

كتابة ذلك في كل مرة لا تُحتمل. أضف اختصارًا إلى `~/.bashrc`:

```bash
echo 'alias git="/usr/local/cpanel/3rdparty/bin/git"' >> ~/.bashrc
source ~/.bashrc
```

أو ضع المجلد في `PATH` لديك، وهو ما يصلح أيضًا الأدوات التي تستدعي `git` بنفسها:

```bash
echo 'export PATH="/usr/local/cpanel/3rdparty/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```

وفضّل الثاني إن كنت تستخدم أي شيء يستدعي Git بشكل غير مباشر — Composer مثلًا.

## النشر من مستودع [#النشر-من-مستودع]

النمط الشائع هو الاستنساخ إلى جذرك المستنَدي والسحب للنشر:

```bash
cd ~/public_html
/usr/local/cpanel/3rdparty/bin/git clone https://github.com/example/site.git .
```

<Callout type="error">
  الاستنساخ إلى `public_html&#x60; يضع **`.git` داخل جذر الويب**، وهو قابل للتنزيل في
  إعدادات كثيرة. وذلك يكشف تاريخك كاملًا — بما في ذلك أي بيانات اعتماد أُودعت
  يومًا، حتى لو أُزيلت لاحقًا.

  فإما أن تحجبه في `.htaccess`:

  ```apache
  RedirectMatch 404 /\.git
  ```

  أو تستنسخ خارج جذر الويب وتنشر من هناك، وهو أأمن.
</Callout>

## المصادقة على مستودع خاص [#المصادقة-على-مستودع-خاص]

استخدم **مفتاح نشر** أو رمز وصول شخصيًا، لا كلمة مرور حسابك.

ولمفتاح النشر، ولّد واحدًا على الخادم وأضف نصفه العام إلى المستودع للقراءة فقط —
راجع [الاتصال عبر SSH](/ar/development/connect-via-ssh) لتوليد المفاتيح.

<Callout type="warn">
  لا تضع رمزًا في رابط بعيد يُودَع أبدًا. فـ `git remote -v` يعرضه، وينتهي في
  سجل أوامرك.
</Callout>

## أداة Git Version Control في cPanel [#أداة-git-version-control-في-cpanel]

يوجد في cPanel كذلك واجهة **Git Version Control** ضمن **Files**، تتولّى
الاستنساخ والسحب دون SSH. وهي أيسر للنشر البسيط؛ أما سطر الأوامر فأفضل لأي شيء
يتعلّق بالفروع.

## اقرأ أيضًا [#اقرأ-أيضًا]

* [الاتصال عبر SSH](/ar/development/connect-via-ssh)
* [نقل موقع ووردبريس محلي إلى استضافتك](/ar/hosting/wordpress/deploy-local-wordpress-setup-into-your-cpanel-account)
