1

我想在本地有两个分支(例如a-localand b-local)和两个远程分支(例如a-remote, b-remote),并且它们成对匹配(例如a-local-a-remote等)。如何确保我不会不小心将本地分支推送到错误的远程分支(例如a-local-> b-remote)?

我正在使用 git 1.8.2.3。

4

2 回答 2

1

在实际推送之前,请-n在命令中添加一个。这显示了哪些本地分支将被推送到哪个远程和远程分支,而无需实际进行推送。然后你可以修改命令,仍然使用-n,最后在满意的时候,删除-n.

我所做的一件事是将 push.default 的全局选项配置为 upstream by git config --global push.default upstream。默认值为matching,它将尝试推送每个匹配的分支。

如果您的遥控器被称为origin(可能是)在本地推送更改的命令将是git push origin a-local:a-remote -n. 但是一个简单的git push -n可能基于 push.default 和上游配置的功能(参见 kirelagin 的注释)。

于 2013-06-08T13:37:17.370 回答
0

哇,这很难意外地做到这一点。

一旦你git push --set-upstream origin a-local:a-remote让它跟踪(另一对也一样),你可以用 just git checkout a-local; git pushor推送,git-push a-local我应该说你必须努力不小心推送到错误的分支......</p>

于 2013-06-08T12:57:21.523 回答