Kiedy wypychasz gałąź za pomocą Magit (za pomocą P P
), a gałąź nie ma wcześniejszego biegu, Magit pyta cię o nazwę gałęzi, do której chcesz pchać. To wspaniale.
Jednak po ustawieniu upstream dla gałęzi Magit nie pyta cię już, gdzie chcesz go przepchnąć. Jest to zwykle wygodne (nie chcesz za każdym razem pytać), ale utrudnia przesunięcie gałęzi do innej zdalnej gałęzi.
Czy istnieje sposób, aby Magit zapytał mnie ponownie o gałąź docelową, nawet jeśli bieżąca gałąź ma już górną granicę?
Przypadek użycia
Dość często mam taką gałąź:
Local: issue-30 ~/Git-Projects/repo/
Remote: issue-30 @ origin (git@github.com:.../repo.git)
Head: ebe4054 Some commit message
i chcę zmienić oddziały lokalne i zdalne na issue-30-and-34
. Jeśli tylko zmienię nazwę oddziału lokalnego, pozostanie mi to:
Local: issue-30-and-34 ~/Git-Projects/repo/
Remote: issue-30 @ origin (git@github.com:.../repo.git)
Head: ebe4054 Some commit message
Nawet jeśli usunę origin/issue-30
, wykonanie P P
po issue-30-and-34
prostu odtworzy plik origin/issue-30
.
Skończyło się na tym, że wydaje mi się, że jest to rondo, które można wykonać za pomocą jednego git
polecenia:
- Utwórz nowy oddział o nazwie
issue-30-and-34
(zamiast zmiany nazwy starego), - usuń wersje lokalne i zdalne
issue-30
, - push
issue-30-and-34
(ponieważ nie ma jeszcze upstream, Magit zapyta mnie, gdzie pushować).