¿Cómo hago que la reference de subida de una twig git sea de solo lectura?

¿Cómo puedo decir a git que, aunque quiero permitir "git fetch" en ciertas twigs, no quiero permitir "git push" en esas twigs?

En otras palabras, tengo algunas twigs que reflejan el "trabajo actual" y quiero enviarlas a mi repository en sentido ascendente. Pero tengo otras twigs (incluida la maestra) que pretendo reflejar "otro trabajo" en el context del repository local, y no quiero pisar esas twigs desde aquí.

Este es mi repository remoto, y en otros contexts quiero poder insert todas sus twigs. Pero no desde esta instancia local específica.

Creo que esto es posible, porque el origen del show remoto de git me ha dicho a veces que he configurado sucursales para "git pull" pero no para "git push". Pero no entiendo los files de configuration lo suficientemente bien como para crear este efecto de forma manual, y tampoco entiendo el lenguaje de command-line de git lo suficiente como para hacerlo allí.

En este momento, lo mejor que puedo hacer es asegurarme de que mi copy local esté desactualizada para las twigs ascendentes, y quiero seguir siendo prístina. (Además, especificar la twig receptora explícitamente en mi command-line de git push, especificando que solo quiero ingresar a la instancia remota correspondiente a la twig localmente desprotegida, evita que se formen twigs no deseadas. Pero me gustaría eliminar esa complicación .)

Solutions Collecting From Web of "¿Cómo hago que la reference de subida de una twig git sea de solo lectura?"

De manera similar a lo que dijo Borealid en los comentarios, en su copy local debe establecer git config push.default upstream , y luego, además, asegurarse de que las twigs a las que no desea presionar no tengan asignada una twig ascendente . Hay una git branch --set-upstream , pero eso no le permite configurar una configuration upstream vacía para eliminarla, por lo que tendrá que editar manualmente su file .git / config y eliminar la merge = refs/heads/* línea de las secciones de las twigs correspondientes.

En realidad, parece que push.default = current hará lo que yo quiero.

Eso no es precisamente lo que pedí, pero es "lo suficientemente bueno". Y tiene la ventaja de ser simple.

La simplicidad es una virtud: hace que la comprensión y el uso del sistema sean directos.

También imita de cerca el comportamiento que creo que estoy viendo desde el git pull.