سؤال

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

ما فعلته هو "Git Clone Newaddress" تحت مستودع مستودع تم سحبه من محاضره القديم. الإخراج يشبه:

حصلت على xxx

المشي xxx

حصلت على xxx

حصلت على xxx

المشي xxx

الحصول على قائمة بديلة لـ Newaddress

الحصول على قائمة حزم لنيوددرس

الحصول على فهرس للحزمة xxx

الحصول على حزمة xxx

الذي يحتوي على xxx

حصلت على xxx

حصلت على xxx

المشي xxx

...

ثم "سحب git" وحصلت على الرسالة التالية التي لا أفهمها:

لقد طلبت مني أن أسحب دون إخباري بالفرع الذي تريد دمجه ، و "branch.master.merge" في ملف التكوين الخاص بك لا يخبرني أيضًا. يرجى تسمية الفرع الذي تريد دمجه على سطر الأوامر ومحاولة مرة أخرى (على سبيل المثال "Git Pull"). انظر Git-Pull (1) للحصول على تفاصيل حول REFSPEC.

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

branch.master.remote = <nickname>
branch.master.merge = <remote-ref>
remote.<nickname>.url = <url>
remote.<nickname>.fetch = <refspec>

انظر Git-Config (1) للحصول على التفاصيل.

ما الذي يمكنني فعله الآن لأكون قادرًا على الحصول على معلومات حول التغييرات التي أجراها فيما يتعلق بالوقت الأخير قبل انتقاله؟

شكرا مع تحياتي!

هل كانت مفيدة؟

المحلول

إذا فهمت سؤالك بشكل صحيح ، فإن ما تبحث عنه هو استبدال أصلك الحالي عن بُعد بأسلوب جديد. لا أعرف ما إذا كان يمكنك استبداله من سطر الأوامر ، ولكن يمكنك تغييره في .git/config (هذا في دليل المشروع الخاص بك)

قديم

[remote "origin"]
  url = git+ssh://original_repository.com/my_project.git
  ...

الجديد

[remote "origin"]
  url = git+ssh://new_repository.com/my_project.git
  ...

ال git+ssh قد يكون الجزء مثل git@ (هذا ما سيكون عليه إذا كنت تستخدم GitHub) ، أو أنا متأكد من مجموعة متنوعة من الأشياء الأخرى. قد يساعد هذا في توضيح بعض الأشياء التي تركتها أو لم أشرحها جيدًا بما فيه الكفاية: تغيير أصلك.

أتمنى أن نكون قد ساعدنا في الاجابة على سؤالك. هتافات.

نصائح أخرى

قم بتشغيل هذا في مستودع GIT المستنسخ:

 git config branch.master.remote origin

لرعاية "أنت طلبت مني أن أسحب دون إخباري" ... رسالة.

ثم ، إذا كنت تعرف أين تم نقل الريبو عن بُعد ، فيمكنك القيام به في ريبو محلي جديد مستنسخ أ git diff منذ ذلك التاريخ.

$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"

ملاحظة: القادم GIT1.6.5 يذكر

تنسيق تاريخ الإنسان القابل للكتابة إلى خيارات مختلفة ، على سبيل المثال "--since=yesterday", "master@{2000.09.17}"، يتم تعليمها لاستنتاج بعض المدخلات المحذوفة بشكل صحيح.

انظر أيضا السؤال جدا "كيف تحصل على git دائما السحب من فرع معين؟"

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