قم بتحديث فرع محلي بالتغييرات من فرع بعيد متعقب

سئل على ١ يوليو ٢٠١٢  ·  تمت مشاهدة 271.6k مرة  ·  مصدر

skyork picture
في ١ يوليو ٢٠١٢

لدي فرع محلي اسمه " my_local_branch " ، يتتبع الفرع البعيد origin/my_remote_branch .

الآن ، تم تحديث الفرع البعيد ، وأنا على " my_local_branch " وأريد سحب هذه التغييرات. هل يجب أن أفعل فقط:

git pull origin my_remote_branch:my_local_branch

هل هذه هي الطريقة الصحيحة؟

الإجابات

Amber picture
في ١ يوليو ٢٠١٢
93

لا تستخدم بناء الجملة : - يقوم pull دائمًا بتعديل الفرع المعار حاليًا. هكذا:

git pull origin my_remote_branch

بينما لديك my_local_branch ستفعل ما تريد.

نظرًا لأن لديك بالفعل مجموعة فرع التعقب ، فلن تحتاج حتى إلى التحديد - يمكنك فقط ...

git pull

أثناء قيامك بسحب my_local_branch ، وسيتم تحديثه من الفرع المتعقب.

VonC picture
في ١ يوليو ٢٠١٢
75

لقد قمت بتعيين المنبع من هذا الفرع

(نرى:

 فرع git -f - تتبع أصل my_local_branch / my_remote_branch
 # أو (إذا تم سحب my_local_branch حاليًا):
 فرع git $ - مجموعة upstream-to my_local_branch origin / my_remote_branch

(لن يعمل git branch -f --track إذا تم سحب الفرع: استخدم الأمر الثاني git branch --set-upstream-to بدلاً من ذلك ، أو ستحصل على " fatal: Cannot force update the current branch. ")

هذا يعني أن فرعك قد تم تكوينه بالفعل باستخدام:

branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch

لدى Git بالفعل كل المعلومات الضرورية.
في هذه الحالة:

# if you weren't already on my_local_branch branch:
git checkout my_local_branch 
# then:
git pull

كفى.


إذا لم يثبت أن العلاقة فرع المنبع عندما يتعلق الأمر دفع الخاص بك my_local_branch '، ثم بسيطة git push -u origin my_local_branch:my_remote_branch يمكن أن يكون كافيا لدفع وتعيين فرع المنبع.
بعد ذلك ، بالنسبة لعمليات السحب / الدفعات اللاحقة ، سيكون git pull أو git push ، مرة أخرى ، كافياً.