有没有办法只允许将指定的本地分支推送到指定的远程?
Is there any way to allow to push only specified local branch to specified remote?
描述
这里有 2 个遥控器,origin
和 foobar
。
- origin 有两个分支,
master
和 xxxxx
- foobar只有一个分支
master
origin 是我的主要遥控器,我有与 origin 相同的本地分支机构,
所以有 master
和 xxxxx
.
有时我需要将 xxxxx 推送到 foobar/master(不是 foobar/xxxxx),
通过输入命令 git push foobar xxxxx:master
.
但是我怕误把master推到foobar/master
所以问题是
有什么办法可以防止高手推送foobar吗?
或者,有没有办法只允许 xxxxx 推送到 foobar?
可能会增加属于origin的分支,我不想将任何其他分支推送到foobar,但只需要将xxxxx作为master推送到foobar。
默认情况下,git push
会将本地分支与本地分支正在跟踪的远程分支同步。
如果您通过 git checkout --track -b foobar_master foobar/master
签出本地分支,当您 运行 git push
时,foobar_master 分支将与 foobar/master.[=14= 同步]
请google"remote-tracking branch"了解更多详情。
顺便说一下,您可以运行 git branch -vv
确认您的本地分支正在跟踪哪个远程分支。
您可能需要在配置中设置显式推送映射:
git config remote.foobar.push refs/heads/xxxxx:refs/heads/master
然后使用 git push foobar 没有明确的分支规范。
此外,您可以设置 pre-push 钩子来验证被推送的提交。
描述
这里有 2 个遥控器,origin
和 foobar
。
- origin 有两个分支,
master
和xxxxx
- foobar只有一个分支
master
origin 是我的主要遥控器,我有与 origin 相同的本地分支机构,
所以有 master
和 xxxxx
.
有时我需要将 xxxxx 推送到 foobar/master(不是 foobar/xxxxx),
通过输入命令 git push foobar xxxxx:master
.
但是我怕误把master推到foobar/master
所以问题是
有什么办法可以防止高手推送foobar吗?
或者,有没有办法只允许 xxxxx 推送到 foobar?
可能会增加属于origin的分支,我不想将任何其他分支推送到foobar,但只需要将xxxxx作为master推送到foobar。
默认情况下,git push
会将本地分支与本地分支正在跟踪的远程分支同步。
如果您通过 git checkout --track -b foobar_master foobar/master
签出本地分支,当您 运行 git push
时,foobar_master 分支将与 foobar/master.[=14= 同步]
请google"remote-tracking branch"了解更多详情。
顺便说一下,您可以运行 git branch -vv
确认您的本地分支正在跟踪哪个远程分支。
您可能需要在配置中设置显式推送映射:
git config remote.foobar.push refs/heads/xxxxx:refs/heads/master
然后使用 git push foobar 没有明确的分支规范。
此外,您可以设置 pre-push 钩子来验证被推送的提交。