# 3.3.3 Protegiendo tu branch

Para prevenir que se suban cambios al código que puedan descomponer el código se suelen proteger las ramas para que no se pueda subir a la rama master sin un Pull Request. Se explicara de forma general, el setup se explicará en la sección [11. Integración continua](/net-core/9.-integracion-continua.md)\
\
Si tienes tu repo sin protección se muestra la siguiente imagen:

![](/files/e9HAiST1eb9DnsW7QAYZ)

Da click en Protect this branch

Algunas de las opciones que se pueden configurar:

* Require a pull request before merging: Se necesita que los cambios en el código se agreguen mediante un Pull request. Es decir no puedes subir tus cambios directamente a la rama master.
* Require status checks to pass before merging: Puedes elegir algunos [status check ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)que se ejecutan en la integración continua (es decir cuando se agregan cambios a una branch)
* Require conversation resolution before merging: Requiere que todos los comentarios sean resuleltos antes de hacer el merge.&#x20;
* Require signed commits: Se requiere que los push tengan firmas verificadas.
* Require linear history: Cualquier Pull Request necesita&#x20;
  * rebase merge:&#x20;
  * squash merge: En un squash merge si realizaste varios commit a tu rama al momento de hacer el merge todos los comentarios se unifican en un solo commit.
* Require deployments to succeed before merging: Puedes solicitar que los cambios se hayan implementado correctamente en un servidor de pruebas.
* Include administrators: Por lo general las reglas no aplican a los administradores del repo. Si seleccionas esta opción las reglas aplican también a los administradores del repo.&#x20;

Reglas que aplican a todos incluídos los administradores:

* Allow force pushes: Permite que todos los que tengan al menos permisos de escritura en el repositorio puedan realizar el PUSH en la rama, incluidos aquellos con permisos de administrador. También lo puedes forzar a usuarios en específico.&#x20;
* Allow deletions: Los usuarios con acceso a realizar Push pueden borrar las ramas protegidas.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.3-trabajando-con-branches-ramas-con-visual-studio/3.3.3-protegiendo-tu-branch.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
