我想在本地有两个分支(例如a-local
and b-local
)和两个远程分支(例如a-remote
, b-remote
),并且它们成对匹配(例如a-local
-a-remote
等)。如何确保我不会不小心将本地分支推送到错误的远程分支(例如a-local
-> b-remote
)?
我正在使用 git 1.8.2.3。
我想在本地有两个分支(例如a-local
and b-local
)和两个远程分支(例如a-remote
, b-remote
),并且它们成对匹配(例如a-local
-a-remote
等)。如何确保我不会不小心将本地分支推送到错误的远程分支(例如a-local
-> b-remote
)?
我正在使用 git 1.8.2.3。
在实际推送之前,请-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 的注释)。
哇,这很难意外地做到这一点。
一旦你git push --set-upstream origin a-local:a-remote
让它跟踪(另一对也一样),你可以用 just git checkout a-local; git push
or推送,git-push a-local
我应该说你必须努力不小心推送到错误的分支......</p>