سؤال

لأسباب مختلفة (استعراض التعليمات البرمجية في الغالب) أحتاج إلى التبديل من فرع التطوير الحالي إلى فروع أخرى في كثير من الأحيان.

حاليا، يمكنني استخدام إما "Git Stash" لإرفاعة التغييرات غير الملتزم بها، والخروج من الفرع الآخر، ثم قم بتبديل "تطبيق" Git Stash "

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

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

هل كانت مفيدة؟

المحلول

يمكنك استنساخ الريبو إلى دليل آخر والتقصير إلى الفرع الذي تريده:

# assume your original repo is in myproj
$ git clone myproj myproj_clone --branch my_branch

إذا انت تذهب إلى myproj_clone مجلد، سيكون في فرعك

$ cd myproj_clone
$ git branch
* my_branch

نصائح أخرى

يمكنك استنساخ المستودع ومراجعة / العمل على استنساخ. حذف الاستنساخ عند الانتهاء. إذا حدثت إجراء تغييرات على الفرع / استنساخ، فيمكنك دفعها مرة أخرى. أعتقد أن استنساخ محلي رخيص. وحتى لو لم يكن الأمر كذلك، فإن مساحة القرص لا تزال أرخص من وقتك.

لست متأكدا من أن الاستنساخ هو الحل الصحيح، ولكن نظرا لأن إجابات 2 تقترح أنها على الدماغ، لذلك أنا أقدم تعديلا على هذا الموضوع. قد لا يكون الاستنساخ رخيصا. من حيث مساحة القرص، فإنه غير ذي صلة، لكن استنساخ نفسها تستغرق عدة ثوان وهذا وقت إضافي لإهدار عملية غير ضرورية. كبديل، يمكنك ببساطة إنشاء دليل عمل جديد باستخدام GIT العامل القديم Dir. أي، إذا كانت دير عملك الحالي "A" (مع التغييرات والملفات غير المرغزة)، فحاول:

$ mkdir ../b $ cd ../b $ echo 'gitdir: ../a/.git'> .git $ git checkout -f foo

الآن ب بشكل فعال استنساخ A، على فرع فو، ولديك دليلين عمل للعب معه. افعل ما تحتاج إليه في فرع فو في العمل Dir B، ثم عد إلى A ويسحب الفرع الذي كنت فيه عند مغادرتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top