delete - git commit




تبديل أسماء الفروع في بوابة (4)

أعتقد أنه يجب عليك التفكير في استراتيجية تطوير مختلفة لمنع مثل هذه القضايا. واحد يبدو أنه يعمل بشكل أفضل بالنسبة لي هو عدم القيام بالتطوير مباشرة على فرع رئيسي. بغض النظر عن التغييرات التي أجريها ، أقوم دائمًا بإنشاء فرع جديد لرمز جديد:

git checkout -b topic/topic_name master

من هناك ، يمكنني إخراج التغييرات إلى المستودعات العامة:

git push pu topic/topic_name

أو في نهاية المطاف فقط دمجها مرة أخرى مع فرع رئيسي:

git checkout master && git merge topic/topic_name

إذا كنت تحتاج حقًا إلى الرجوع إلى نقطة قديمة في الزمان وتعيين ذلك باعتباره سيدك ، فيمكنك إعادة تسمية الفرع الحالي إلى شيء آخر ثم التحقق من نسخة قديمة لتكون سيدك:

 git branch -m master junk
 git co -b master old_sha1_value

قد يكون هناك أكثر من طريقة لطرح هذا السؤال ، لذا إليك وصفاً للمشكلة. كنت أعمل على ماجستير وألتزم ببعض الأشياء ثم قررت أنني أرغب في تعليق هذا العمل. قمت بعمل نسخ احتياطي لعدد قليل من الالتزام ثم تفرعت من قبل أن أبدأ العمل في حماقة. عمليًا هذا يعمل بشكل جيد ، لديّ الآن فرعًا مختلفًا مثل فرع التطوير الرئيسي. أنا أتساءل كيف يمكنني تغيير الأشياء في مكان آخر لذلك أعمل على إتقان مرة أخرى ولكن ليس لديها عمل غير المرغوب فيه ، وقال العمل على فرع مختلف.

بعض الطرق التي يمكن طرحها / حلها: كيف يمكنني إعادة تسمية الفرع الرئيسي الخاص بي إلى شيء آخر ثم إعادة تسمية شيء آخر لإتقان؟ كيف أعمل نسخًا احتياطيًا للغة الرئيسية ثم أتسبب في ارتكاب جميع النسخ التي قمت بنسخها احتياطيًا في الماضي على فرع مختلف؟

شكرا لجميع الإجابات (سريعة)! كلهم جيدون


ابدأ في الصفحة master ، أنشئ فرعًا يسمى in-progress ، ثم قم بإعادة تعيين master إلى التزام سابق.

$ git branch in-progress
$ git reset --hard HEAD^

سيؤدي ذلك إلى تعيين سيدك على أي نقطة في خطوة واحدة:

git checkout -B master new_point

هذا سهل نسبيا:

git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master               # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master                # optional -- switch on to your master branch






branch