168 votes

Git: Configurer une télécommande fetch seulement?

Lorsque j'exécute git remote -v dans l'un de mes référentiels Git ayant une ou plusieurs télécommandes configurées, je constate que chaque télécommande possède les spécifications d'extraction et de poussée:

 $ git remote -v
<remote-name> ssh://host/path/to/repo (fetch)
<remote-name> ssh://host/path/to/repo (push)
 

Pour les télécommandes qui pointent vers des développeurs homologues, il n'est pas nécessaire de pousser, et Git refusera de toute façon de pousser vers un référentiel non-nu. Existe-t-il un moyen de configurer ces télécommandes en mode "lecture seule" sans adresse push ni capacités?

236voto

Daniel Brockman Points 4282

Je ne pense pas que vous puissiez supprimer l'URL push; vous pouvez uniquement le remplacer par autre chose que l'URL d'extraction. Donc, je pense que le plus proche que vous obtiendrez est quelque chose comme ceci:

 $ git remote set-url --push origin no-pushing
$ git push
fatal: 'no-pushing' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
 

6voto

pkeller Points 21

La déclaration générale "Git refuse de pousser à un non-dépôt nu" n'est pas vrai. Git ne refusent de pousser à un non-nue dépôt distant si vous tentez d'envoyer les modifications qui sont sur la même branche que le dépôt distant est extrait du répertoire de travail.

Cette réponse donne une explication simple: http://stackoverflow.com/a/2933656/1866402

(Je suis d'ajouter ce que une réponse parce que je n'ai pas assez de réputation pour ajouter encore de commentaires)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X