Magit - Як я можу перевірити віддалену гілку локально, не ввівши всю назву гілки?


12

У мене віддалене відділення remote-branch-long-name. Коли я магітую замовлення із заповненням керма, я можу набрати remote-branchта origin/remote-branch-long-nameвідображатимуться як варіант. Проблема полягає в тому, що щоб перевірити цю гілку локально, я фактично не можу перейти на цю гілку, мені потрібно перейти remote-branch-long-name (without the origin/ prefix), оскільки кермо не передбачає, що як варіант завершення, я повинен вручну ввести всю назву гілки.

Чи є інша функція, яку я повинен використовувати для цього випадку використання, або мені потрібно зламати функцію разом?

Відповіді:


22

Це здається, що проблема, яку ви намагаєтеся вирішити, - це не проблема, з якою ви стикаєтесь. Git не дозволяє локально працювати з віддаленими гілками ( origin/remote-branch-long-nameви бачите, що це лише гілка відстеження; ви не можете працювати з нею безпосередньо), і Magit спрямовує вас до наміченого робочого процесу.

Оскільки ви хочете працювати з origin/remote-branch-long-nameвами, ймовірно, слід запустити magit-branch-and-checkout( b c). Виберіть, origin/remote-branch-long-nameі він запропонує ввести ім'я локальної філії, а за замовчуванням - "віддалене відділення-довге ім'я". Це дає місцевій філії необхідність внести зміни. Коли ви закінчите зі своїми змінами та натисніть на origin/remote-branch-long-nameнеї, оновите відділення відстеження.

Ви можете мати місцеві гілки з косою рисою, але використання віддаленого імені в назві місцевої гілки може зробити речі дуже заплутаними. Git пам'ятає, з якого віддаленого місцевого відділення було перевірено, тому вам не потрібно відстежувати його самостійно.

Для більш повного пояснення, ніж моя відповідь тут (!), Ви вважаєте, що ця сторінка є хорошим оглядом про пульти.


8
Я думаю, що тут відключення полягає в тому, що потік Magit відрізняється від потоку git. Якщо ви запускаєте git checkout foo, а fooце не гілка, але origin/fooє, git створить нову гілку fooта встановить її для відстеження origin/foo. Тож git вчить вас думати: "Я просто замовляю foo, а git робить усе необхідне". Але це не працює з магітом; біг magit-branch-and-checkout- це шлях.
zck

4

Оскільки magit v2.12.0, існує команда magit-branch-checkout, прив’язана до b l(Checkout local branch), яка робить саме те, що ви хочете. Докладніше див. У документі .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.