سؤال

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

كنت أخطط لصنع ملف جيثب محليا. لقد كنت أبحث عن هذا والعديد من العائد الذي يجب أن أستخدمه جيتوليت وغيرها الكثير. المشكلة التي أستخدمها Windows وأريد القيام بجميع الخطوات باستخدام سطر الأوامر.

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


ربط المحطة بمضيف Windows

لقد قمت بإنشاء مسار دليل مستودع Users\username\GIT\project.git. أحاول ربط المحطة الخاصة بي باستخدام سطر الأوامر git clone file://{IPv4 server address}/Users/username/GIT/project.git عائدات

fatal: '/{IPv4 server address}/Users/username/GIT/project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

كيف يمكنني حل هذا؟ أنا مضيف يعمل على نظام التشغيل Windows 7 وستستخدم طرفي (محطات) التوصيل الخاصة بي Ubuntu 12.04 LTS و MacOS Mavericks.


تحديث المسار

  1. تحديث سؤالي الجسم. لا أعرف ما هي الخطوات التي يجب أن أتابعها.
  2. إدراج ربط المحطة بمضيف Windows سؤال لمشاركة المستودع عبر الشبكة المحلية.
هل كانت مفيدة؟

المحلول

ربما تطلب طريقة بسيطة لإنشاء ريبو بالجيت والاستنساخ المحلي؟

  1. إنشاء git repo باستخدام git init --bare
  2. استنساخ من مكان آخر باستخدام git clone --local /path/your/local/repo/

بالنسبة للشبكة المحلية ، قد تعمل مشاركة Windows أو مشاركة ملفات أخرى.

ولكن ، الطريقة البسيطة مجرد العمل ، وليس أفضل أو مناسبة. لا يوجد طلب سحب ، مسار المشكلات ، ميزة التحكم في الامتياز على Github. لإدارة GIT Commice أو أي عمل معقد آخر ، تحتاج إلى نظام إدارة ، مثل gitolite و gerrit ، قد لا يعمل البعض على نظام Windows.

إذا كنت بحاجة فقط إلى ريبو خاص مجاني ، فأنت تستخدم bitbucket.

استنساخ من Windows Share:

git clone file:////{IPv4 server address}/share_name/path_to_your_.git_dir

على الكمبيوتر المضيف ، يجب مشاركة repo dir مع 'share_name' ، على سبيل المثال: parent dir of repo.git

نرى:

نصائح أخرى

إذا قرأت بيان المشكلة بشكل صحيح ، يمكنك ببساطة استنساخ ريبو GIT المحلي في مجلد آخر باستخدام --local قم بتشغيل الأمر Clone مثل هذا

git clone --local /git/source_repo/project /home/username/workdir/project

أين

/git/source_repo/project هل النسخة الآمنة من الريبو (نسميها الشخصية الخاصة بك GitHub إذا تحب).

و

/home/username/workdir/project هو مجلد العمل الخاص بك. يمكن أن يكون أي مجلد حيث تريد أن تصل إلى ارتباط متكرر

موضحة مفاتيح:

--محلي

عندما يكون المستودع الذي يجب استنساخه من الجهاز المحلي ، يتجاوز هذا العلم آلية النقل العادية "GIT Aware" واستنساخ المستودع من خلال صنع نسخة من الرأس وكل شيء تحت الأشياء والحكام. يتم ربط الملفات تحت .git/ الكائنات/ الدليل لتوفير المساحة عند الإمكان.

إذا تم تحديد المستودع كمسار محلي (على سبيل المثال ،/مسار/إلى/repo) ، فهذا هو الافتراضي ، و-المحلي هو في الأساس عدم وجود. إذا تم تحديد المستودع كعنوان URL ، فسيتم تجاهل هذه العلامة (ولن نستخدم التحسينات المحلية أبدًا). سيؤدي التحديد-لا يتم إعطاء الافتراضي عندما يتم إعطاء/مسار/إلى/repo ، باستخدام نقل GIT العادي بدلاً من ذلك.

لإجبار النسخ بدلاً من الوصل المتشددين (والتي قد تكون مرغوبة إذا كنت تحاول إجراء نسخ احتياطي لمستودعك) ، ولكن لا تزال تتجنب آلية النقل المعتادة "GIT Aware" ،-لا يمكن استخدامها.

-لا هاردنك

قم بتحسين عملية الاستنساخ من مستودع على نظام الملفات المحلي عن طريق نسخ الملفات ضمن دليل .git/كائنات.

نرى توثيق لمزيد من التفاصيل

تحديث 1:

لإعداد خادم git على Windows ، يمكنك تجربة هذا commercial (المصدر المفتوح) يسمى برنامج gitstack.

موارد gitstack مفيدة:

  1. gitstack تعليمات التحميل
  2. رابط إلى رمز المصدر لـ gitstack على جيثب

لإنشاء مستودع عاري محلي ، يكون الأمر بسيطًا جدًا:

git clone --bare my_project my_project.git
Initialized empty Git repository in /my/projects/my_project.git/

طالما أنك تستخدمها محليًا (على سبيل المثال ، من جهاز تخزين متصل بـ USB أو شيء من هذا القبيل) ، هذا كل ما يوجد فيه. يمكنك فقط توجيه الأوامر الخاصة بك إلى هذا الريبو ، للاستنساخ ، والدفع ، والسحب ، وما إلى ذلك ، يمكن للمرء أن يسأل لماذا تريد أن تفعل مثل هذا الشيء.

هذه الإرشادات هي الحصول على الإعداد على خادم ، لكنني وجدت هذه التعليمات مفيدة حقًا لإنشاء إعادة تدوين محلية أيضًا: http://git-scm.com/book/en/git-on-the-server-getting-git-on-a-server

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top