푸시 URL을 잘못된 것으로 변경하는 것 외에도 (예 :) 후크를 git remote set-url --push origin DISABLED
사용할 수도 있습니다 pre-push
.
중지하는 빠른 방법 중 하나 는 후크 git push
가되도록 symlink /usr/bin/false
하는 것입니다.
$ ln -s /usr/bin/false .git/hooks/pre-push
$ git push
error: failed to push some refs to '...'
후크를 사용하면 원하는 경우 푸시를보다 세밀하게 제어 할 수 있습니다. .git/hooks/pre-push.sample
진행중인 커밋을 푸시하지 못하게하는 방법에 대한 예를 참조하십시오 .
특정 분기로의 푸시를 방지하거나 단일 분기로의 푸시를 제한하려면 예제 후크에서 다음을 수행하십시오.
$ cat .git/hooks/pre-push
#!/usr/bin/sh
# An example hook script to limit pushing to a single remote.
#
# This hook is called with the following parameters:
#
# $1 -- Name of the remote to which the push is being done
# $2 -- URL to which the push is being done
#
# If this script exits with a non-zero status nothing will be pushed.
remote="$1"
url="$2"
[[ "$remote" == "origin" ]]
여러 리모컨이있는 테스트 저장소
$ git remote -v
origin ../gitorigin (fetch)
origin ../gitorigin (push)
upstream ../gitupstream (fetch)
upstream ../gitupstream (push)
로 밀기 origin
가능 :
$ git push origin
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 222 bytes | 222.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ../gitorigin
* [new branch] master -> master
다른 리모컨으로 푸시하는 것은 허용되지 않습니다 :
$ git push upstream
error: failed to push some refs to '../gitupstream'
있습니다 pre-push
후크 스크립트, 무엇보다도, 푸시 말 stderr에 메시지를 인쇄 수정 될 수는 사용할 수 없습니다.