new - git merge branch to master




كيف يمكنني إعادة تسمية فرع Git محلي؟ (20)

1. إعادة تسمية

إذا كان فرعك الحالي ، فما عليك سوى القيام به

git branch -m new_name

إذا كان هناك فرع آخر تريد إعادة تسميته

git branch -m old_name new_name

2. تتبع فرع بعيد جديد

- إذا تم دفع فرعك ، ثم بعد إعادة تسميتك ، يجب عليك حذفه من مستودع Git البعيد واطلب من موقعك المحلي الجديد تتبع فرع جديد عن بعد:

git push origin :old_name
git push --set-upstream origin new_name

لا أريد إعادة تسمية فرع بعيد ، كما هو موضح في إعادة تسمية الفرع الرئيسي لمستودعات Git المحلية والبعيدة .

كيف يمكنني إعادة تسمية فرع محلي لم يتم دفعه إلى فرع بعيد؟


  1. إعادة تسمية الفرع المحلي الخاص بك.

إذا كنت في الفرع الذي تريد إعادة تسميته:

git branch -m new-name

إذا كنت في فرع مختلف:

git branch -m old-name new-name
  1. احذف الفرع البعيد الاسم القديم وادفع الفرع المحلي الجديد الاسم.

git push origin :old-name new-name

  1. إعادة تعيين فرع المنبع للفرع المحلي الجديد الاسم. قم بالتبديل إلى الفرع ثم:

git push origin -u new-name

أو للحصول على طريقة سريعة للقيام بذلك ، يمكنك استخدام الخطوات الثلاث التالية:

# إعادة تسمية فرع محليا

git branch -m old_branch new_branch  

# حذف الفرع البعيد القديم

git push origin :old_branch  

# اضغط على الفرع الجديد ، تعيين الفرع المحلي لتعقب جهاز التحكم عن بعد الجديد

git push --set-upstream origin new_branch   

المرجع: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html


أذا أردت:

  • إعادة تسمية مستودع git ، تشغيل: git branch -m <oldname> <newname>
  • حذف الفرع القديم بواسطة: git push origin: old-name new-name
  • الالتزام باستخدام: git commit <newname>
    • ثم دفع باستخدام: git push origin new_branch_name:master
  • إذا كنت تريد التحقق من الحالة ، استخدم: git status
  • إذا كنت ترغب في التحقق من ثم استخدم: git checkout

أنا أحمق اسمه فرعًا يبدأ بواصلة ، ثم يتم سحبه. لم أكن أرغب في حذف فرعي ، فقد كان لدي عمل فيه.

لم يعمل أي من هذين:

git checkout -dumb-name

git checkout -- -dumb-name

" s و s لم يساعد أي منهما. git branch -m لا يعمل.

وإليك كيف أقوم في النهاية بإصلاحه. الذهاب إلى نسخة العمل الخاصة بك .git / refs / heads ، والعثور على اسم الملف "اسم البكم" ، والحصول على تجزئة الفرع. بعد ذلك سيتحقق من ذلك ، إنشاء فرع جديد يحمل اسمًا عاقلًا ، وحذف الاسم القديم.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

إذا كنت ترغب في تغيير اسم الفرع الحالي ، قم بتشغيل:

git branch -m [old_branch] [new_branch]

إذا كنت تريد حذف الفرع البعيد القديم ، فقم بتشغيل:

git push origin :[old_branch]

إذا كنت ترغب في حذف الفرع البعيد القديم وإنشاء فرع بعيد جديد ، فقم بتشغيل:

git push origin :old_branch new_branch

إذا كنت تريد إعادة تسمية فرع أثناء الإشارة إلى أي فرع ، فقم بما يلي:

git branch -m <oldname> <newname>

إذا كنت ترغب في إعادة تسمية الفرع الحالي ، فيمكنك القيام بما يلي:

git branch -m <newname>

طريقة لتذكر هذا ، هو -m لـ "move" (أو mv ) ، وهو كيفية إعادة تسمية الملفات.


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

من تجربتي ، لإعادة تسمية فرع محلي وبعيد في Git يجب عليك القيام بالخطوات التالية.

نقلا عن دول متعددة - إعادة تسمية فرع محلي وبعيد في بوابة

1. إعادة تسمية الفرع المحلي الخاص بك

إذا كنت في الفرع الذي تريد إعادة تسميته:

git branch -m new-name

إذا كنت في فرع مختلف:

git branch -m old-name new-name

2. احذف الفرع البعيد الاسم القديم وادفع الفرع المحلي الجديد الاسم

git push origin :old-name new-name

3. إعادة تعيين فرع المنبع للفرع المحلي الجديد الاسم

git push origin -u new-name

الإجابات حتى الآن كانت صحيحة ولكن هنا بعض المعلومات الإضافية: يمكن للمرء أن يعيد تسمية الفرع بـ "-m" (الخطوة) ، ولكن يجب على المرء أن يكون حذراً ، لأن "-M" تفرض إعادة تسمية ، حتى إذا كان هناك فرع بنفس الاسم بالفعل. في ما يلي مقتطفات من صفحة رجل "git-branch":

مع خيار -m أو -M ، ستتم إعادة تسمية <newbranch> إلى <newbranch> . إذا كان لدى <oldbranch> رداً مناظراً ، تتم إعادة تسميته ليطابق <newbranch> ، ويتم إنشاء إدخال reflog لتذكر إعادة تسمية الفرع. في حالة وجود <newbranch> ، يجب استخدام -M لفرض إعادة <newbranch> .


خيار آخر هو عدم استخدام سطر الأوامر على الإطلاق. يقوم عملاء Git GUI مثل SourceTree الكثير من منحنى التعلم النحوي / الألم الذي يسبب أسئلة مثل هذا واحد ليكون من بين الأكثر مشاهدة على .

في SourceTree ، انقر بزر الماوس الأيمن على أي فرع محلي في جزء "الفروع" على اليسار وحدد "إعادة تسمية ...".


طريقة بسيطة للقيام بذلك:

git branch -m old_branch new_branch         # Rename branch locally    
git push origin :old_branch                 # Delete the old branch    
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

للمزيد ، انظر this .


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

يمكنك أيضًا إعادة تسمية الفرع المحلي ، ولكن يستمر في تتبع الاسم القديم على جهاز التحكم عن بُعد.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

الآن ، عند تشغيل git push ، يتم تحديث ref old_branch البعيد مع new_branch المحلي الخاص بك.

عليك أن تعرف وتذكر هذا التكوين. ولكن يمكن أن يكون مفيدًا إذا لم يكن لديك الخيار لاسم الفرع البعيد ، لكنك لا تعجبك (أوه ، أعني ، لديك سبب وجيه جدًا لعدم إبداء الإعجاب!) وتفضل أكثر وضوحًا اسم لفرعك المحلي.

أثناء اللعب باستخدام تهيئة الجلب ، يمكنك حتى إعادة تسمية المرجع البعيد المحلي. بمعنى ، وجود refs/remote/origin/new_branch ref refs/remote/origin/new_branch ref pointer إلى الفرع ، وهذا هو في الواقع على old_branch في origin . ومع ذلك ، أنا لا يثبط هذا بشدة ، من أجل سلامة عقلك.


فيما يلي ثلاث خطوات: أمر يمكنك الاتصال به داخل المحطة وتغيير اسم الفرع.

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

إذا كنت بحاجة إلى المزيد: خطوة بخطوة ، فإن كيفية تغيير اسم فرع Git هو مقالة جيدة عن ذلك.


كل ما سبق يتحدث عن git branch -m . بالطبع ، من السهل العمل ، لكن بالنسبة لي ، قد يكون من الصعب تذكر أمر git آخر. لذا حاولت أن أتخلص من العمل بالقيادة التي كنت على دراية بها. نعم ، قد تفكر في ذلك.

يمكنني استخدام git branch -b <new_branch_name> . وإذا كنت لا تريد حفظ الفرع القديم الآن ، فيمكنك تنفيذ git branch -D <old_branch_name> لإزالته.

أعلم أنه قد يكون مملاً قليلاً ولكن من السهل فهمه وتذكره. نأمل أن يكون مفيدًا لك.


لإعادة تسمية الفرع الحالي (باستثناء حالة HEAD المنفصلة) ، يمكنك أيضًا استخدام هذا الاسم المستعار:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

لإعادة تسمية فرع محليًا:

git branch -m [old-branch] [new-branch]

الآن سيكون عليك نشر هذه التغييرات على الخادم البعيد أيضًا.

لدفع تغييرات الفرع القديم المحذوف:

git push origin :[old-branch]

لدفع تغييرات إنشاء فرع جديد:

git push origin [new-branch]

لمستخدمي Git GUI لا يمكن أن يكون أبسط من ذلك بكثير. في Git GUI ، اختر اسم الفرع من القائمة المنسدلة في مربع الحوار "إعادة تسمية الفرع" الذي تم إنشاؤه من عنصر القائمة الفرع: إعادة التسمية ، اكتب اسم جديد ، وانقر على "إعادة تسمية". لقد أبرزت مكان العثور على القائمة المنسدلة.


يمكن أن تتم إعادة تسمية فرع git عن طريق استخدام

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

الفرق بين -m و -m ،

-م: إذا كنت تحاول إعادة تسمية الفرع الخاص بك مع اسم فرع exising باستخدام -m سوف يثير خطأ يقول ، فرع موجود بالفعل. تحتاج إلى إعطاء اسم فريد.

لكن،

-M: هذا سيساعدك على فرض إعادة تسمية مع اسم معين حتى أنها موجودة. لذلك الفرع الموجود سيكتب كليا به ...

هنا مثال git الطرفية ،

[email protected]dev:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$ 

يمكن لمستخدمي Advanced Git إعادة تسمية يدويًا:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

نسخة git 2.9.2

إذا كنت ترغب في تغيير اسم الفرع المحلي الذي تتواجد فيه:

git branch -m new_name

إذا كنت ترغب في تغيير اسم فرع مختلف:

git branch -m old_name new_name

إذا كنت ترغب في تغيير اسم فرع مختلف إلى اسم موجود بالفعل:

git branch -M old_name new_name_that_already_exists

ملاحظة: الأمر الأخير مدمر وسيعيد تسمية الفرع الخاص بك ، لكنك ستفقد الفرع القديم بهذا الاسم وتلك التي تلزم لأن أسماء الفروع يجب أن تكون فريدة.


git branch -m old_branch_name  new_branch_name

أو

git branch --move old_branch_name new_branch_name






git-branch