دمج فروع جيت المتعددة في الفرع الرئيسي؟
سؤال
إذن لدي 3 فروع git:
- يتقن
- ينعش
- auth_upgrade
ليس لدي حقًا تم استخدام الفروع كما ينبغي لي... لذلك master
لقد عفا عليه الزمن، refresh
قديم إلى حد ما و auth_upgrade
هو في الواقع الفرع الحالي تمامًا.
لذا...أريد في النهاية أن أفعل ذلك auth_upgrade
الفرع الرئيسي وبعد ذلك git push
إلى جيثب الريبو الخاص بي.
ما هي أفضل عملية للقيام بذلك؟
المحلول
هل يمكن أن تسحب auth_upgrade
داخل master
.
$ git co master
$ git pull . auth_upgrade
- ثم قم بالعمل الرئيسي
master
واستخدم هذا الفرع للمزامنة مع جهاز التحكم عن بعد الخاص بك .. - تطبيق نفس الإجراء على
refresh
, ، إذا كانت هناك بعض التغييرات الفريدة التي تريد تضمينها ..
يرى:
$ man git-pull
git-pull - Fetch from and merge with another repository or a local branch
نصائح أخرى
يمكنك إعادة تسمية الفروع باستخدام git branch -m
خيار:
git branch -m master old_master
git branch -m auth_upgrade master
إذا قلت "قديمة" فإن الفروع القديمة هي أسلاف صارمة، فلن يكون لديك حقًا أي مشكلات في الدمج.
إذا كنت تريد فقط تحويل فرعك الحالي إلى الفرع الرئيسي في مستودعك البعيد، فيمكنك فقط القيام بما يلي:
git push origin HEAD:master
يحرر: من أحد تعليقاتك، يبدو أنك لا تملك جميع التغييرات من Remote Master في فرعك الحالي، لذلك قد تحتاج إلى دمجها قبل الدفع بنجاح:
git fetch
git merge origin/master
يمكنك بعد ذلك حذف فروعك المحلية.حذف مع صغير -d
آمن لأنه يحذف فقط الفروع التي هي أسلاف فرعك الحالي.
git branch -d master
git branch -d refresh.
إذا كان يزعجك أن فرعك المحلي لا يُسمى رئيسي، فيمكنك الآن القيام بما يلي:
git checkout -b master
git branch -d auth_upgrade