Git как отключить push

Я использую git, и я делаю свою работу по разработке, которую я не хочу нажимать, даже по ошибке. Есть ли способ отключить push в определенном локальном репозитории. Один из способов - переименовать ветвь, другой - отменить push, если он делает это по ошибке, но я надеюсь, что должен быть более прямой метод.

Ответ 1

Следующая команда будет работать, но нажатие будет пытаться использовать URL no_push и не выполнить:

git remote set-url --push origin no_push

Ответ 2

В зависимости от удаленного устройства вы можете reset его URL использовать протокол только для чтения Git вместо SSH или HTTPS. Например, для проекта на GitHub, do

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

где <remote> обычно origin. git remote -v предоставит вам список пультов; те, которые начинаются с https или имеют форму <user>@<host>:<path>, обычно позволяют нажимать.

Ответ 3

В git 2.0 git branch --unset-upstream будет предотвращено действие git push против текущей ветки. (Это также будет работать в версиях git >= 1,8, если для параметра push.default установлено значение upstream или simple.)

# 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. Вероятно, он также предотвращает появление индикаторов состояния git, отображаемых в командной строке, из-за того, что вы находитесь впереди или за пультом дистанционного управления.)