J'utilise git et je fais mon travail de développement, que je ne veux pas pousser, même par erreur. Existe-t-il une méthode pour désactiver le push dans certains dépôts locaux. Une méthode consiste à renommer la branche, une autre consiste à annuler la poussée si on le fait par erreur, mais j'espère qu'il y aura une méthode plus directe.
Réponses
Trop de publicités?En fonction de la télécommande, vous pourrez peut-être réinitialiser son URL pour utiliser le protocole Git en lecture seule au lieu de SSH ou HTTPS. Par exemple, pour un projet sur GitHub, procédez comme suit
git remote set-url <remote> git://github.com/Team/Project.git
où <remote>
est généralement origin
. git remote -v
vous donnera une liste de télécommandes ; celles qui commencent par https
ou avoir la forme <user>@<host>:<path>
permettent généralement de pousser.
Dans git 2.0, git branch --unset-upstream
empêchera git push
en travaillant sur la branche courante. (Ceci fonctionnera également dans les versions de git >= 1.8, si push.default
a pour valeur soit upstream
ou 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
(Notez que git push origin master
fonctionnera toujours ; cela ne fait que bloquer l'abréviation de git push
. Cela empêche probablement aussi les indicateurs d'état git qui apparaissent dans l'invite du shell d'indiquer que vous êtes en avance ou en retard sur la télécommande).