remotas - git remote
Obtener ramas de git existentes para rastrear sucursales remotas (5)
Mi flujo de trabajo habitual cuando trabajo con git es algo como esto:
- crear un repositorio local
- trabaje en ese repositorio, agregue / cambie archivos, etc.
- Decidir que quiero una ubicación remota central para el repositorio, y crear una
- enviar todas las confirmaciones desde mi repositorio local a este nuevo repositorio remoto
Ahora, sin embargo, quiero ser capaz de push
y pull
desde este repositorio remoto sin tener que especificar a dónde estoy empujando o tirando; Quiero que mi maestro local rastree el maestro remoto.
La forma correcta de hacer esto no está clara para mí, y no he podido determinarlo a partir de la documentación, aunque en realidad no debería ser más de un comando.
Debido a que es algo que solo se hace una vez por repositorio, generalmente he empleado una de las dos soluciones simples, pero hacky:
- usó
git clone
para crear un nuevo repositorio local y eliminó el anterior. Después de la clonación de git, el nuevo repositorio está configurado para rastrear el origen. - editado manualmente .git / config para hacer el origen de la pista maestra.
Creo que debería poder ejecutar un comando, probablemente alguna forma de git remote
para configurar un repositorio existente para que la pista maestra sea un maestro remoto. ¿Alguien puede decirme qué es ese comando?
En las versiones más nuevas de git puedes usar
git branch --track origin/branch_name
También puede usar esto si desea crear una nueva sucursal local para rastrear una sucursal remota:
git checkout --track -b [branch_name] --track origin[or other remote name]/[remote_branch_name]
o mejor:
git checkout -t origin/branch_name
Usa el argumento set-up arg:
git branch --set-upstream local-branch-name origin/remote-branch-name
Ejecutando el comando anterior actualiza su archivo .git / config correctamente e incluso verifica con este resultado:
"Branch-local-branch-name configurado para rastrear la rama remota remote-branch-name desde el origen".
EDITAR: Como dijo martijn : "En la versión Git v1.8.0, --set-upstream está en desuso. Use --set-upstream-to en su lugar".
git branch --set-upstream-to local-branch-name origin/remote-branch-name
Vea this para más información.
The --set-upstream flag is deprecated and will be removed.
git branch master --set-upstream-to myupstream/master
git help remote
debería mostrarle lo que necesita saber. Creo que lo que quieres es
git remote add [remote-name] [remote-url]
# Set a local branch to follow the remote
git config branch.[branch-name].remote [remote-name]
# Set it to automatically merge with a specific remote branch when you pull
git config branch.[branch-name].merge [remote-master]
También puede editar manualmente .git / config para configurarlos.