كيفية استخدام أكثر من إعداد Git على جهاز كمبيوتر واحد

دقائق القراءة: 4

لماذا تحتاج إلى أكثر من إعداد Git على جهاز واحد؟

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

هذه الطريقة مفيدة جداً للمطورين الذين يريدون تجنب الأخطاء الشائعة، مثل تنفيذ commit ببريد العمل داخل مشروع شخصي، أو العكس. كما أنها تمنحك بيئة عمل أكثر تنظيماً ومرونة دون الحاجة إلى تغيير الإعدادات يدوياً كل مرة.

شرح إعداد أكثر من ملف Git config على جهاز كمبيوتر واحد لتنظيم حسابات العمل والمشاريع الشخصية

فكرة العمل: ربط كل مجلد بملف إعداد مستقل

تعتمد الفكرة على تقسيم المستودعات إلى مجلدات منفصلة، ثم ربط كل مجلد بملف إعداد خاص به عبر ملف .gitconfig الرئيسي. وعندما يكتشف Git أن المستودع موجود داخل مسار معيّن، يقوم تلقائياً بتحميل الملف المناسب باستخدام includeIf.

على سبيل المثال، يمكنك تخصيص مجلد للعمل وآخر للمشاريع الشخصية كما يلي:

  • ~/work لمشاريع العمل
  • ~/personal للمشاريع الشخصية أو مفتوحة المصدر

الخطوة الأولى: إنشاء مجلدات منفصلة للمستودعات

ابدأ بتنظيم مشاريعك داخل مجلدات واضحة حسب نوع الحساب الذي تريد استخدامه. هذا التنظيم ليس مجرد ترتيب شكلي، بل هو الأساس الذي تعتمد عليه آلية التبديل التلقائي بين الإعدادات.

مثال عملي على هيكلة المجلدات

  • ~/work لجميع المشاريع المرتبطة بالعمل
  • ~/personal لجميع المشاريع الجانبية أو الشخصية

كل مستودع جديد تنشئه داخل أحد هذين المسارين سيرث إعدادات Git المخصصة لذلك المسار.

الخطوة الثانية: إنشاء الإعداد العام في ملف .gitconfig

بعد تجهيز المجلدات، انتقل إلى المجلد الرئيسي للمستخدم وأنشئ ملف .gitconfig إذا لم يكن موجوداً. داخل هذا الملف، أضف قواعد includeIf لتحديد ملف الإعداد المناسب لكل مسار.

[includeIf "gitdir:~/personal/"]
    path = ~/.gitconfig-personal

[includeIf "gitdir:~/work/"]
    path = ~/.gitconfig-work

عند وجود مستودع داخل المسار ~/personal/، سيستخدم Git الملف ~/.gitconfig-personal. وعند وجوده داخل ~/work/، سيتم تحميل الملف ~/.gitconfig-work. أما إذا لم يطابق المستودع أي مسار محدد، فسيعود Git إلى الإعداد الافتراضي.

الخطوة الثالثة: إنشاء ملفات إعداد مستقلة لكل حساب

الآن تحتاج إلى إنشاء ملفات الإعداد الفردية التي أشرنا إليها في الملف الرئيسي. يمكن لكل ملف أن يحتوي على بيانات المستخدم، البريد الإلكتروني، وأي تخصيصات أخرى ترغب بها.

إعداد حساب العمل

[user]
    name = work_user
    email = work_email

إعداد الحساب الشخصي

[user]
    name = personal_user
    email = personal_email

يمكنك أيضاً توسيع هذه الملفات لاحقاً لتضمين إعدادات إضافية مثل signingkey أو إعدادات hooks أو تفضيلات محرر النصوص.

التحقق من نجاح إعداد أكثر من حساب Git

بعد إتمام الخطوات السابقة، من المفترض أن يصبح لديك ثلاثة ملفات أساسية داخل المجلد الرئيسي للمستخدم:

  • ~/.gitconfig
  • ~/.gitconfig-work
  • ~/.gitconfig-personal

ملفات إعداد Git المتعددة داخل المجلد الرئيسي للمستخدم بعد تفعيل الفصل بين حسابات العمل والحسابات الشخصية

بعد ذلك، يمكنك إنشاء مستودع تجريبي داخل كل مسار للتأكد من أن Git يقرأ الإعداد الصحيح.

اختبار إعداد العمل

$ cd ~/work
$ mkdir work-test-repo
$ cd work-test-repo
$ git init
Initialized empty Git repository in /Users/dbarochiya/work/work-test-repo/.git/

$ git config -l
credential.helper=osxkeychain
includeif.gitdir:~/personal/.path=~/.gitconfig-personal
includeif.gitdir:~/work/.path=~/.gitconfig-work
user.name=working_me
user.email=work@work.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true

اختبار الإعداد الشخصي

$ cd ~/personal
$ mkdir personal-test-repo
$ cd personal-test-repo
$ git init
Initialized empty Git repository in /Users/dbarochiya/personal/.git/

$ git config -l
credential.helper=osxkeychain
includeif.gitdir:~/personal/.path=~/.gitconfig-personal
user.name=me_personal
user.email=personal@personal.com
includeif.gitdir:~/work/.path=~/.gitconfig-work
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true

كما تلاحظ، يختلف كل من user.name وuser.email بين المستودعين، وهذا يؤكد أن آلية التبديل تعمل بشكل صحيح اعتماداً على المسار.

أفضل الممارسات عند إدارة حسابات Git متعددة

  • استخدم أسماء مجلدات واضحة مثل work وpersonal لتجنب الالتباس.
  • احرص على إنشاء أي مستودع جديد داخل المجلد الصحيح حتى يحصل على الإعداد المناسب تلقائياً.
  • راجع ناتج الأمر git config -l عند الشك في الحساب المستخدم.
  • تجنب وضع معلومات جميع الحسابات داخل ملف واحد، لأن ذلك يرفع احتمال الخطأ أثناء العمل اليومي.
  • إذا كنت تستخدم مفاتيح SSH مختلفة، فمن الأفضل تنسيقها أيضاً مع هذا الفصل للحصول على بيئة أكثر احترافية.

متى تكون هذه الطريقة مفيدة فعلاً؟

هذا الأسلوب مناسب جداً في الحالات التالية:

  • عند العمل بحساب شركة وحساب شخصي على الجهاز نفسه.
  • عند المساهمة في مشاريع مفتوحة المصدر باستخدام بريد مختلف.
  • عند الحاجة إلى فصل الإعدادات الأمنية أو التوقيع الرقمي بين أكثر من جهة.
  • عند إدارة عدد كبير من المستودعات وتريد أتمتة اختيار الهوية بدون تدخل يدوي.

الخلاصة التقنية

استخدام أكثر من ملف Git config على جهاز واحد ليس مجرد حيلة تنظيمية، بل هو حل عملي يقلل الأخطاء ويجعل بيئة التطوير أكثر وضوحاً واحترافية. بالاعتماد على includeIf وربط كل مسار بملف إعداد مستقل، تستطيع إدارة هويات متعددة بكفاءة عالية، خصوصاً إذا كنت تتنقل باستمرار بين مشاريع العمل والمشاريع الشخصية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *