有没有办法允许只将指定的本地分支推送到指定的远程?

时间:2016-11-16 03:17:42

标签: git git-branch git-push git-remote

描述

以下是2个遥控器,originfoobar

  • origin有两个分支masterxxxxx
  • foobar只有一个分支master

原点是我的主要遥控器,我有与原点相同的本地分支,
所以有masterxxxxx

有时我需要将xxxxx推送到foobar / master(不是foobar / xxxxx),
通过发出命令git push foobar xxxxx:master

但是我害怕错误地将主人推向foobar / master。

所以问题是

有没有办法阻止主人推动foobar?
或者,有没有办法只允许xxxxx推送到foobar?

属于原产地的分支机构可能会被发布,我不想将任何其他分支机构推向foobar,但只需要将xxxxx作为主机推送到foobar。

2 个答案:

答案 0 :(得分:2)

可能您需要在配置中设置显式推送映射:

git config remote.foobar.push refs/heads/xxxxx:refs/heads/master

然后使用没有显式分支规范的git push foobar。

此外,您可以设置pre-push挂钩,以验证正在推送的提交。

答案 1 :(得分:0)

默认情况下,git push会将本地分支与本地分支正在跟踪的远程分支同步。

如果您通过git checkout --track -b foobar_master foobar/master签出本地分支,则当您运行git push时,foobar_master分支将与foobar / master同步。

请详细了解“远程跟踪分支”。

顺便说一下,您可以运行git branch -vv来确认您的本地分支正在跟踪哪个远程分支。