如何配置git put只推送一些分支而忽略其他分支?
我想防止一些git私有分支被推到上游 我怎样才能做到这一点 可接受以下任何一种解决方案:如何配置git put只推送一些分支而忽略其他分支?,git,git-push,Git,Git Push,我想防止一些git私有分支被推到上游 我怎样才能做到这一点 可接受以下任何一种解决方案: 仅推送列表中的分支 跳过在列表中推送分支 更新:当前我的推送配置使用的是mirror=true,这意味着将推送所有分支 说明:我们公司内部确实有一个集中的内部存储库,它镜像到github。我们确实想让所有分支机构都进入公司存储库,这已经发生了,但我确实希望能够将公开的内容限制在github上,因此并非所有分支机构都将公开 问题是,现在一切都转到github,可能是因为镜像选项。如果我删除它,它可能只会推
- 仅推送列表中的分支
- 跳过在列表中推送分支
mirror=true
,这意味着将推送所有分支
说明:我们公司内部确实有一个集中的内部存储库,它镜像到github。我们确实想让所有分支机构都进入公司存储库,这已经发生了,但我确实希望能够将公开的内容限制在github上,因此并非所有分支机构都将公开
问题是,现在一切都转到github,可能是因为镜像选项。如果我删除它,它可能只会推送github上已经存在的分支
尽管如此,即使这个选项也不是我想要的,因为我希望能够控制跳过或包括哪些选项
如果可以使用正则表达式模式执行此操作,则效果更好。将推送策略设置为上游:
git config --global push.default=upstream
(如果您只想将其用于单个回购,而不是机器上的所有回购,请跳过--global
部分)
然后,确保私有分支没有上游分支集(如果没有手动设置,可能会出现这种情况)
如果存在任何远程跟踪分支,请使用以下方法删除它们:
git branch -d -r origin/<remote branch name>
git分支-d-r原点/
您需要决定是否真的要镜像。如果您确实想要镜像,那么所有引用都将由未经修饰的git-push
或git-push
推送。您仍然可以执行git push:
,但是如果您想要推送一组分支,除非您编写脚本,否则这些分支可能会变得单调乏味,即使如此,如果您想要推送的分支集经常更改,这仍然是一件痛苦的事情
可能更好的选择是关闭镜像,并在
.git/config
中显式设置要推送的分支,以及在不指定分支的情况下进行git推送时的合适默认模式。pgilmon的答案给出了该默认设置的一个可能设置-阅读文档以确定这是否是对您最有用的默认模式(较新版本的git
为该默认设置提供了更多不同的模式,如果您没有指定,还可以实现不同的“默认默认设置”。可能重复的答案,这不是现有问题的重复。我忘了提到我当前的配置使用了mirror=true选项。
git branch -d -r origin/<remote branch name>