كيف يمكنني سحب مستودع كمبيوتر آخر في جيت؟
سؤال
على سبيل المثال ، قمت باستنساخ مستودع الأصل على جهاز كمبيوتر. بعد ذلك ، أمضي قدمًا وأجري بعض التغييرات وألتزم بالمستودع المحلي للكمبيوتر A. كيف يمكنني الآن سحب هذه التغييرات إلى الكمبيوتر B؟ يتم توصيل كل من الكمبيوتر A و B بشبكة.
ما أبحث عنه هو ما يعادل شخص ما يدويًا يصنع رقعة وإرساله إلي ، والذي يمكنني تطبيقه على نسخة العمل/الريبو المحلي.
المحلول
إذا كان الجهاز الذي تريد سحبه يمكن الوصول إليه عبر ssh
, ، يمكنك إضافة المستودع عليه كجهاز تحكم عن بعد عبر SSH ، ثم اسحب منه كما لو كنت عن بعد:
$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master
(يمكنك تخطي خطوة إضافة جهاز تحكم عن بعد وتحديد عنوان URL الكامل في git pull
أمر بدلاً من الاسم البعيد ، ولكن إذا كنت ستسحب من المستودع بشكل منتظم ، فإن إضافته كجهاز تحكم عن بعد سيوفر لك الكثير من الكتابة.)
نصائح أخرى
القي نظرة على git pull --help
هذا من شأنه أن يعطي شيئًا مثل git pull /my/other/repository
يمكنك إعداد خادم فعلي مع Git Daemon. خلاف ذلك ، يمكنك استخدام حزمة git, ، الذي يحدد التمثيل الداخلي لـ GIT في ملف يمكن تفكيكه git pull
في الطرف الآخر.
على سبيل المثال من مستندات GIT ، تجميع كل شيء:
git bundle create file.bundle master
ثم ، على الطرف الآخر ، يمكنك أن تفعل شيئًا مثل:
git pull file.bundle HEAD
إذا كنت تستطيع الاتصال بالكمبيوتر B بواسطة SSH ، يمكنك استخدام:
git clone user@host:/path/to/repo
سيمكّن التتبع عن بُعد من خلال اتصال SSH هذا ، ويسمح لك باستخدام GIT سحب/دفع.
لقد عملت بالنسبة لي لمستودع محلي مع كمبيوتر آخر:
git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/
git pull origin_username master
أو
git pull origin_username some_branch
لقد توصلت إلى
git clone /path/to/local/repository
بعد فوات الأوان ، ولكن على كل ما يستحق وتوسيع إجابة أنطوان بيليس ، يمكنك أيضًا سحب مضيف SSH الذي يحتوي على نفس الريبو مع اثنين من الالتزامات الأخرى ، دون إضافة أ التحكم عن بعد إلى التكوين الخاص بك:
git pull user@host:/path/to/repo # while in the local repo folder
فقط لكي تكون واضحًا - أحد الاستخدامات المحتملة لذلك هو عندما يكون لديك مضيفان (A و B) الذي استنساخ نفس الريبو من a التحكم عن بعد, ، وقد ارتكبت بعض التغييرات على المضيف A ولا ترغب في دفعها إلى التحكم عن بعد أو التحكم عن بعد.