لا أريد إعادة تسمية فرع بعيد ، كما هو موضح في إعادة تسمية الفرع الرئيسي لكل من مستودعات Git المحلية والبعيدة.
كيف يمكنني إعادة تسمية فرع محلي لم يتم دفعه إلى فرع بعيد؟
في حال كنت بحاجة إلى إعادة تسمية التحكم عن بعد فرع كذلك:
كيف يمكنني إعادة تسمية اسم فرع Git محليًا وبعيدًا
إذا كنت ترغب في إعادة تسمية فرع أثناء الإشارة إلى أي فرع ، فقم بما يلي:
git branch -m <oldname> <newname>
إذا كنت تريد إعادة تسمية الفرع الحالي ، فيمكنك القيام بما يلي:
git branch -m <newname>
هناك طريقة لتذكر هذا ، وهي -m
هي لـ "move" (أو mv
) ، وهي كيفية إعادة تسمية الملفات.
git branch -m old_branch_name new_branch_name
سيؤدي الأمر أعلاه إلى تغيير اسم الفرع الخاص بك ، ولكن يجب أن تكون حريصًا للغاية في استخدام الفرع الذي تمت إعادة تسميته ، لأنه سيظل يشير إلى الفرع السابق للعموم المرتبط به ، إن وجد.
إذا كنت تريد دفع بعض التغييرات إلى الرئيسي بعد إعادة تسمية الفرع المحلي الخاص بك إلى new_branch_name (اسم المثال):
git Push Origin new_branch_name:master
(ستنتقل الآن التغييرات إلى الفرع الرئيسي ولكن اسم الفرع المحلي الخاص بك هو new_branch_name)
لمزيد من التفاصيل ، راجع " كيفية إعادة تسمية اسم الفرع المحلي الخاص بك في Git ."
لإعادة تسمية فرعك الحالي:
git branch -m <newname>
فيما يلي خطوات إعادة تسمية الفرع:
git branch -m <new_name>
git Push Origin :<old_name>
git Push Origin <new_name>:refs/heads/<new_name>
EDIT (12/01/2017): تأكد من تشغيل الأمر git status
وتحقق من أن الفرع المنشأ حديثًا يشير إلى المرجع الخاص به وليس الفرع القديم. إذا وجدت المرجع إلى الفرع الأقدم ، فستحتاج إلى إلغاء تعيين المنبع باستخدام:
git branch --unset-upstream
ستكون إعادة تسمية الفرع مفيدة بمجرد انتهاء فرعك. ثم تأتي أشياء جديدة ، وتريد تطويرها في نفس الفرع بدلاً من حذفها وإنشاء أخرى جديدة.
من تجربتي ، لإعادة تسمية فرع محلي وبعيد في Git ، يجب عليك القيام بالخطوات التالية.
اقتباس من عدة ولايات - إعادة تسمية فرع محلي والبعيدة في بوابة
إذا كنت في الفرع الذي تريد إعادة تسميته:
git branch -m new-name
إذا كنت في فرع مختلف:
git branch -m old-name new-name
git Push Origin :old-name new-name
git Push Origin -u new-name
الإجابات صحيحة حتى الآن ، ولكن فيما يلي بعض المعلومات الإضافية:
يمكن للمرء إعادة تسمية فرع بـ "-m" (نقل) ، ولكن يجب أن يكون المرء حذراً ، لأن "-M" يفرض إعادة التسمية ، حتى إذا كان هناك فرع موجود يحمل نفس الاسم بالفعل. فيما يلي مقتطفات من صفحة رجل "git-branch":
> باستخدام الخيار m أو - M ، سيتم إعادة تسمية <oldbranch>
إلى <newbranch>
. إذا كان <oldbranch>
يحتوي على إعادة تسجيل مقابلة ، تتم إعادة تسميتها لتطابق <newbranch>
، ويتم إنشاء إدخال إعادة تسجيل لتذكر إعادة تسمية الفرع. في حالة وجود <newbranch>
، يجب استخدام -M لإجبار إعادة التسمية على الحدوث.
إذا كان هو الفرع الحالي الخاص بك ، فقط تفعل
git branch -m new_name
إذا كان فرع آخر تريد إعادة تسمية
git branch -m old_name new_name
- إذا تم دفع فرعك ، فبعد إعادة التسمية ، ستحتاج إلى حذفه من مستودع Git البعيد ، واطلب من منطقتك الجديدة تتبع فرع بعيد جديد:
git Push Origin :old_name
git Push --set-upstream Origin new_name
أنا بحماقة اسمه فرع بدءا من الواصلة ، ومن ثم سحب سيد. لم أكن أرغب في حذف حذف فرعي ، كان لدي عمل فيه.
لم ينجح أي من هؤلاء:
git checkout -dumb-name
git checkout -- -dumb-name
"
s و '
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 [new-branch]
إعادة تسمية الفرع باستخدام هذا الأمر:
git branch -m [old_branch_name] [new_branch_name]
-m
: يقوم بإعادة تسمية/نقل الفرع. إذا كان هناك بالفعل فرع ، سوف تحصل على خطأ.
إذا كان هناك بالفعل فرع وتريد إعادة تسميته باستخدام هذا الفرع ، فاستخدم:
git rename -M [old_branch_name] [new_branch_name]
لمزيد من المعلومات حول المساعدة ، استخدم هذا الأمر في الجهاز:
git branch --help
أو
man git branch
يمكن لمستخدمي 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 branch -m old_branchname new_branchname
هنا الاسم الطويل لخيار -m
هو --move
. لذلك يمكننا أيضا استخدام:
git branch --move old_branchname new_branchname
إذا كنت تريد إعادة تسمية الفرع الحالي ، فاستخدم هذا:
git branch -m new_branchname
أو
git branch -move new_branchname
إذا كنت تريد نقل هذه التغييرات إلى جهاز التحكم عن بعد ، فاستخدم ما يلي.
git Push Origin :old_branchname new_branchname
سيؤدي هذا إلى حذف الفرع البعيد old_branchname
ودفع الفرع المحلي new_branchname
.
git Push Origin -u new_branchname
سيؤدي ذلك إلى إعادة تعيين الفرع الرئيسي للفرع المحلي new_branchname
.
إذا كنت في الفرع الذي تريد إعادة تسميته:
git branch -m new-name
إذا كنت في فرع مختلف:
git branch -m old-name new-name
git Push Origin :old-name new-name
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 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هي مقالة جيدة عن ذلك.
ربما كما ذكر الآخرون ، ستكون هذه حالة عدم تطابق في تسمية الفروع.
إذا كان لديك مثل هذا الموقف ، فيمكنني أن أظن أنك على نظام Windows مما سيؤدي بك إلى:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
ثم عليك القيام بخطوة وسيطة:
$ git branch -m temporary
$ git branch -m casesensitive
لا شيء آخر.
محاولة الإجابة على وجه التحديد على السؤال (على الأقل العنوان).
يمكنك أيضًا إعادة تسمية محلي فرع ، ولكن يمكنك متابعة الاسم القديم على جهاز التحكم عن بُعد.
git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch
الآن ، عندما تقوم بتشغيل git Push
، يتم تحديث old_branch
المرجع عن بعد باستخدام new_branch
المحلي.
عليك أن تعرف وتذكر هذا التكوين. ولكن يمكن أن يكون مفيدًا إذا لم يكن لديك خيار لاسم الفرع البعيد ، لكنك لا تحب ذلك (أعني ، لديك جيد جدًا / سبب عدم الإعجاب به) !) ويفضل اسم أكثر وضوحًا لفرعك المحلي.
اللعب باستخدام تكوين الجلب ، يمكنك حتى إعادة تسمية المرجع البعيد المحلي. بمعنى ، وجود مؤشر المرجع refs/remote/Origin/new_branch
إلى الفرع ، وهذا في الواقع هو old_branch
في Origin
. ومع ذلك ، أنا أشجع هذا بشدة ، من أجل سلامة عقلك.
إذا كنت على استعداد لاستخدام SourceTree (التي أوصي بشدة) ، يمكنك النقر بزر الماوس الأيمن فوق الفرع الخاص بك واختيار "إعادة تسمية".
لإعادة تسمية الفرع الحالي (باستثناء الحالة المنفصلة HEAD) ، يمكنك أيضًا استخدام هذا الاسم المستعار:
[alias]
mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
تغيير الفرع محليًا سهل جدًا ...
إذا كنت في الفرع الذي تريد تغيير الاسم له ، فما عليك سوى القيام بذلك:
git branch -m my_new_branch
بخلاف ذلك ، إذا كنت تستخدم master
أو أي فرع آخر بخلاف الفرع الذي ترغب في تغيير الاسم ، فقم بما يلي:
git branch -m my_old_branch my_new_branch
أيضًا ، أقوم بإنشاء الصورة أدناه لإظهار ذلك أثناء العمل على سطر الأوامر . في هذه الحالة ، أنت على master
branch ، على سبيل المثال:
خيار آخر هو عدم استخدام سطر الأوامر على الإطلاق. احصل على عملاء واجهة المستخدم الرسومية مثل SourceTree الكثير من منحنى التعلم/الألم النحوي الذي يسبب أسئلة مثل هذا واحد من بين الأكثر مشاهدة على Stack Overflow.
في SourceTree ، انقر بزر الماوس الأيمن على أي فرع محلي في جزء "الفروع" على اليسار وحدد "إعادة تسمية ...".
نظرًا لأنك لا ترغب في دفع الفرع إلى خادم بعيد ، فإن هذا المثال سيكون مفيدًا:
لنفترض أن لديك فرعًا حاليًا يسمى "my-hot-feature" ، وتريد إعادة تسميته إلى "feature-15".
أولاً ، تريد تغيير الفرع المحلي الخاص بك. هذا لا يمكن أن يكون أسهل:
git branch -m my-hot-feature feature-15
لمزيد من المعلومات ، يمكنك زيارةمحليا وعن بعد إعادة تسمية فرع في بوابة.
بوابة الإصدار 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] [new_branch]
إذا كنت تريد حذف الفرع البعيد البعيد ، فقم بتشغيل:
git Push Origin :[old_branch]
إذا كنت تريد حذف الفرع البعيد القديم وإنشاء فرع بعيد جديد ، فقم بتشغيل:
git Push Origin :old_branch new_branch
طريقة بسيطة للقيام بذلك:
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
لمعرفة المزيد ، راجع هذا .
فقط خطوتين لتكرار التغيير في الاسم على remote
وكذلك على GitHub:
الخطوة 1 git branch -m old_branchname new_branchname
الخطوة 2 git Push Origin :old_branchname new_branchname
git branch -m old_branch_name new_branch_name
أو
git branch --move old_branch_name new_branch_name
كل الإجابات السابقة تتحدث عن git branch -m
. بالطبع ، من السهل أن تعمل ، لكن بالنسبة لي ، قد يكون من الصعب تذكر أمر Git آخر. لذا حاولت إنجاز العمل من خلال الأمر الذي كنت على دراية به. نعم ، قد تفكر في ذلك.
أنا استخدم git branch -b <new_branch_name>
. وإذا كنت لا تريد حفظ الفرع القديم الآن ، فيمكنك تنفيذ git branch -D <old_branch_name>
لإزالته.
أعلم أن الأمر قد يكون مملاً بعض الشيء ، لكن من الأسهل الفهم والتذكر. آمل أن تكون مفيدة لك.
بوابة فرع إعادة تسمية يمكن القيام به عن طريق:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
الفرق بين -m و -M :
-m: إذا كنت تحاول إعادة تسمية فرعك باسم فرع موجود باستخدام -m . سيثير خطأ في القول أن الفرع موجود بالفعل. تحتاج إلى إعطاء اسم فريد.
لكن،
-M: هذا سيساعدك على فرض إعادة تسمية باسم محدد ، حتى إذا كان موجودًا. لذلك سوف فرع القائمة الكتابة بالكامل معها ...
هنا هو مثال على محطة بوابة ،
[email protected]:~/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$
أذا أردت:
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
في PhpStorm:
VCS → Git → الفروع ... → الفروع المحلية →YOUR_BRANCH→ إعادة تسمية
إعادة تسمية الفرع الحالي
git branch -m <newbranchname>
أو
git branch -m oldbranchname newbranchname