当您使用Magit(带有P P
)推送分支,而该分支没有上游时,Magit会询问您要推送到的分支的名称。那很棒。
但是,一旦您为分支设置了上游,Magit便不再询问您要将其推送到何处。通常这很方便(您不想每次都被询问),但是这使得将分支推送到另一个远程分支变得很困难。
即使当前分支已经有上游服务,Magit是否有办法让Magit再次询问我有关目标分支的信息?
用例
我有这样的分支是很常见的:
Local: issue-30 ~/Git-Projects/repo/
Remote: issue-30 @ origin (git@github.com:.../repo.git)
Head: ebe4054 Some commit message
我想将本地和远程分支都更改为issue-30-and-34
。如果我只是重命名Local分支,那么这里是:
Local: issue-30-and-34 ~/Git-Projects/repo/
Remote: issue-30 @ origin (git@github.com:.../repo.git)
Head: ebe4054 Some commit message
即使我删除origin/issue-30
,这样P P
就issue-30-and-34
只会重新创建origin/issue-30
。
我最终要做的是以下操作,但是对于可以在单个git
命令中完成的操作而言,它感觉有些round回:
- 创建一个新分支
issue-30-and-34
(而不是重命名旧分支), - 删除本地和远程版本
issue-30
, - 推送
issue-30-and-34
(因为它还没有上游,Magit会问我要推送到哪里)。