Mantener un repository privado y público simultáneamente usando la twig git con dos nubes diferentes

Primero que nada, soy nuevo en git, y estoy jugando para aprender más. 🙂

Estoy usando Github para mi repository público y Bitbucket para repository privado. Cada vez que presiono a github, corté manualmente esas cosas indeseadas y luego las empujé públicamente y luego las pegué nuevamente allí para mantener el repository privado también.

Pero después de aprender git branch, pensé que hay muchas maneras en que puedo manejar esto, pero en realidad no estoy seguro. Lo que pensé es:

  • Haré una twig todos mis cambios públicos
  • Usaré el maestro con todos mis cambios privados (o puede ser al revés)
  • Luego en la twig "privada" voy a configurar git remote add origin en bitpocket repo HEAD, y empujar cosas
  • y en la twig "pública" voy a configurar git remote add origin en github repo HEAD, y empujar cosas

¿Estoy en el path correcto? Si no, ¿cómo puedo ir entonces?

Casi. Puede agregar dos controles remotos pero no se pueden llamar origen. Solo los llamaría github y bitbucket, pero los nombres reales en realidad no importan. Luego configura el control remoto apropiado como una twig de seguimiento remoto para sus sucursales locales:

 git remote add github git@github.com:... git remote add bitbucket git@bitbucket.com:... git branch -u github/public_branch_name public_branch_name git branch -u bitbucket/private_branch_name private_branch_name # syntax is: # git branch -u <remote>/<remote_branch_name> <local_branch_name> 

En los dos últimos commands, el último argumento es lo que usted llama su twig localmente y el penúltimo argumento contiene a qué twig se llama en el control remoto (después de la barra). Esos dos nombres no tienen que ser lo mismo. Podrías hacer fácilmente

 git branch -u github/master public_branch_name git branch -u bitbucket/master private_branch_name 

y alguien que vea tus repositorys no sabría que hay algo más. Por supuesto, debes tener en count lo que está sucediendo. Puede verificar qué twigl rastrea qué con git branch --all -vv .