En su clon local del niño, tire de los padres, añadiendo como un control remoto si lo desea:
cd child
git remote add parent <parent-url>
git pull parent
La url de la matriz podría ser el repositorio público de github, o su clon local, el clon local será, por supuesto, más rápido. Si desea extraer una rama que no sea la CABEZA actual del repositorio principal, simplemente agregue un argumento (por ejemplo, git pull parent topic-branch
). Si esto es algo que ocurre una sola vez, puede omitir la adición del control remoto: git pull <parent-url> [branch]
.
Pulling es una combinación de buscar y fusionar, por lo que una vez que haya hecho eso, obtendrá una nueva combinación de compromiso que presumiblemente desea volver a enviar a su repositorio público en algún momento.
El punto clave aquí, en caso de que no esté claro, es que extraer del repositorio principal (ascendente) no es diferente de extraer de su clon público secundario, su repositorio actual. De cualquier forma, está obteniendo de un repositorio con un historial común y fusionándolo en su rama actual. Y, por supuesto, dado que se está fusionando, se necesita un árbol de trabajo, por lo que esto es algo que debe hacerse en su repositorio local. El repositorio alojado en github es esencialmente una forma de publicar lo que has hecho localmente. Todo lo que realmente puede hacer con esto es presionar/jalar, y explorar lo que hay allí.
Lo tienes al revés: haces tu trabajo en tu repositorio local, y luego haces git push para actualizar el control remoto. – Cascabel
Sí, entiendo eso, pero hay algunos cambios en el proyecto original que necesito incorporar en mi copia de trabajo. Es por eso que necesito actualizar mi repositorio local con las actualizaciones del proyecto original mientras mantengo intactos los cambios en mi código local. – zengr
Eso es exactamente lo que todos hemos explicado cómo hacer. Simplemente estoy señalando que no "actualiza el repositorio de Github, luego ... tire para actualizar su repositorio local" - actualiza el repositorio local, luego presiona al repositorio de Github. – Cascabel