git如何禁用推送

我正在使用git,我正在做我的开发工作,我不想推,甚至是错误的。 有没有一种方法来禁用推在某些本地存储库。 一种方法是重命名分支,另一种是错误地撤消推送 ,但我希望应该有一个更直接的方法。

下面的命令会让pull工作,但no_push会尝试使用URL no_push并失败:

 git remote set-url --push origin no_push 

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

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

其中<remote>通常是origingit remote -v会给你一个遥控器列表; 那些以https开头或具有<user>@<host>:<path>通常允许推送。

在git 2.0中, git branch --unset-upstream会阻止git push在当前分支上工作。 (如果push.default设置为upstreamsimple ,这也可以在git> = 1.8的版本中工作。)

 # git push works $ git push Everything up-to-date # unset upstream $ git branch --unset-upstream # git push fails $ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master 

(请注意, git push origin master仍然可以工作,这只会阻止缩写的git push ,也可能会阻止shell提示符中出现的git状态指示符指示您位于远程的前面或后面)。