【问题标题】:git how to disable push [duplicate]git如何禁用推送[重复]
【发布时间】:2012-05-02 20:53:14
【问题描述】:

我正在使用 git,我正在做我的开发工作,我不想推动,即使是错误的。有没有办法在某些本地存储库中禁用推送。一种方法是重命名分支,另一种是undo push,如果做错了,但我希望应该有更直接的方法。

【问题讨论】:

  • 请不要将其作为重复项删除,使用 Google 查找标题措辞比“原始”问题更容易。

标签: git push


【解决方案1】:

以下命令可以让拉取工作,但推送会尝试使用 URL no_push 并失败:

git remote set-url --push origin no_push

【讨论】:

  • 谢谢。如何禁用“仅推送某个分支”?
  • @user984260:我想你可以为那个分支设置遥控器:git config branch.<branch-name>.remote no_push。但是如果分支是本地开发分支,有自己的名字,真的有问题吗?默认情况下它不会被推送(git push 默认情况下没有参数只推送本地和远程都存在的分支),即使你推送它,你只是在远程创建一个新分支你可以及时删除。
  • 无论你做什么,使用git config -l 来验证/获得更好的理解。 (如果它不存在,它就没有发生;-))。更好的结构,使用cat .git/config
  • 不会阻止推送所有分支吗?
  • 谢谢!如果除了 origin 之外您还有上游 repo,那么您可以执行以下操作以确保您无法推送到上游:git remote set-url --push upstream no_push。更改前后用git remote -v查看效果。
【解决方案2】:

根据远程,您可以重置其 URL 以使用只读 Git 协议而不是 SSH 或 HTTPS。例如,对于 GitHub 上的项目,执行

git remote set-url <remote> git://github.com/Team/Project.git

其中&lt;remote&gt; 通常是origingit remote -v 会给你一个遥控器列表;以https 开头或格式为&lt;user&gt;@&lt;host&gt;:&lt;path&gt; 的通常允许推送。

【讨论】:

  • 对我不起作用!这也可以防止拉动:(
  • @YassineElBadaoui 你可能需要在set-url 之后添加--push 来修改推送。但我认为,this more recent answer 让您将来回到这个问题时的意图更加清晰。
猜你喜欢
  • 2020-12-19
  • 2015-10-02
  • 2023-04-06
  • 2021-02-22
  • 1970-01-01
  • 2014-03-15
  • 2021-09-25
  • 2016-10-07
  • 1970-01-01
相关资源
最近更新 更多