git如何禁用push

use*_*260 146 git push

我正在使用git,我正在进行我的开发工作,我不想推,即使是错误的.是否有一种方法可以在某些本地存储库中禁用推送.一种方法是重命名分支,另一种方法是撤消推送,如果一个人错误地做,但我希望应该有一个更直接的方法.

Joa*_*son 280

以下命令将允许pull工作,但push将尝试使用URL no_push并失败:

git remote set-url --push origin no_push
Run Code Online (Sandbox Code Playgroud)

  • @ user984260:我猜你可以为那个分支设置遥控器:`git config branch.<branch-name> .remote no_push`.但是如果分支是一个本地开发分支,有自己的名字,那真的是一个问题吗?默认情况下它不会被推送(默认情况下``git push`没有参数只推送本地和远程存在的分支),即使你推送了它,你也只是在遥控器上创建一个新的分支.你可以及时删除. (9认同)
  • 谢谢.如何禁用"仅推送某个分支"? (5认同)
  • 谢谢!如果除了 origin 之外您还有上游存储库,那么您可以执行以下操作以确保无法推送到上游:`git remote set-url --push upper no_push`。更改前后使用`git remote -v`检查效果。 (3认同)

Fre*_*Foo 7

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

git remote set-url <remote> git://github.com/Team/Project.git
Run Code Online (Sandbox Code Playgroud)

<remote>通常在哪里origin.git remote -v会给你一个遥控器列表; 那些以https或以形式开头的人<user>@<host>:<path>通常会推动.