Poseemos la mejor información que hallamos en línea. Nosotros esperamos que te sea de utilidad y si quieres comentarnos alguna mejora puedes hacerlo..
Solución:
¿Es posible tener una sucursal privada en un repositorio público?
En GitHub, su repositorio es público o privado; no se puede “privatizar” selectivamente solo una sucursal.
¿Puedo bifurcar mi propio repositorio público en mi propia rama/bifurcación privada?
Puede clonar su repositorio público en su máquina local, ramificar según sea necesario y simplemente no empujar sus sucursales “privadas” hacia arriba (especificando cual rama para empujar al origen: git push origin master
o git push origin branch-i-want-to-be-public:master
).
¿Cuál es el mejor camino a seguir/cómo debo proceder?
Para aprovechar GitHub tanto para su desarrollo público como privado, sugeriría bifurcar su rama pública dentro de GitHub, cambiar la configuración de la nueva bifurcación a “Privado” y luego clonar la versión privada en su máquina local. Cuando esté listo para hacer públicos los cambios, suba todo a su bifurcación privada en GitHub y luego use solicitudes de extracción para copiar ramas selectivamente al repositorio público.
Para hacer que un repositorio sea privado en GitHub, debe tener un repositorio actualizado (pagado) cuenta. Si solo está usando la cuenta gratuita, aún puede usar el primer proceso que sugerí: clonar público a la máquina local, rama y empujar ramas “públicas” específicas al origen – sin necesidad de un repositorio privado.
Si tiene una cuenta paga de GitHub o está usando otro servicio que ofrece bifurcaciones públicas y privadas y solicitudes de extracción (como BitBucket), puede usar cualquiera de los enfoques anteriores para hacer público su código.
- Duplica tu repositorio.
- Haga que el repositorio duplicado sea privado en GitHub.
- Clona el repositorio privado en tu máquina
- Agregue un control remoto a su repositorio público (git remote add public [email protected]:…)
- Empuje ramas con confirmaciones destinadas a su repositorio público a ese nuevo control remoto público. (asegúrese de no cometer accidentalmente código privado únicamente)
- Puede introducir cambios en su repositorio público usando ‘git fetch public’ y luego fusionarlos localmente y enviarlos a su repositorio privado (remoto de origen).
Hay otra solución que encuentro mejor ya que no da como resultado repositorios duplicados en la misma máquina.
- Haz una rama con las cosas que quieras privadas.
- Cree un nuevo repositorio en GitHub, configúrelo como privado.
- Agregue un nuevo repositorio de GitHub como un segundo control remoto a su repositorio en su máquina.
- Empuje la sucursal privada al segundo control remoto.
El resultado final es 1 repositorio con 2 controles remotos. 1 público, 1 privado.
Solo debe tener cuidado con lo que presiona para nombrarlo en consecuencia.