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>
通常是origin
。 git remote -v
会给你一个遥控器列表; 那些以https
开头或具有<user>@<host>:<path>
通常允许推送。
在git 2.0中, git branch --unset-upstream
会阻止git push
在当前分支上工作。 (如果push.default
设置为upstream
或simple
,这也可以在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状态指示符指示您位于远程的前面或后面)。