He tomado los siguientes pasos hasta ahora:
- Clonado un repositorio remoto de Git
- Ramificó la rama maestra a una experimental
- código editado / probado / comprometido en la rama experimental
Ahora, no estoy listo para fusionar experimental en maestro. Sin embargo, quiero devolverlo al repositorio remoto, ya que ese es el repositorio que comparto con algunos colegas. Me gustaría que vieran lo que he hecho en la rama experimental. Normalmente solo accedo al repositorio remoto a través de SSH.
¿Cómo comparto mi sucursal local en el repositorio remoto, sin afectar la sucursal maestra del repositorio remoto?
git
version-control
distributed
Coocoo4Cocoa
fuente
fuente
Respuestas:
De acuerdo con la página del manual de git push :
Encuentre una referencia que coincida
experimental
en el repositorio de origen (lo más probable es que encuentrerefs/heads/experimental
), y actualice la misma referencia (prefs/heads/experimental
. Ej. ) En el repositorio de origen con ella.Si
experimental
no existiera de forma remota, se crearía .Esto es lo mismo que:
Cree la rama
experimental
en el repositorio de origen copiando laexperimental
rama actual .Este formulario solo es necesario para crear una nueva rama o etiqueta en el repositorio remoto cuando el nombre local y el nombre remoto son diferentes ; de lo contrario, el nombre de referencia por sí solo funcionará.
O, como se menciona en el consejo de git , puede configurar un "control remoto predeterminado de la sucursal":
Jan sugiere (para git> = 1.7.0 ) la opción
push -u
(opush --set-upstream
):De esa manera, no tienes que hacer ninguna configuración de git.
fuente
-u
opción parapush
asegurarse de que su sucursal local rastrea la remota después de hacerla pública. Si olvida usar la-u
opción, puede escribirgit push -u
luego en la rama, y luegogit pull
funcionará.git push origin experimental
, no hay evidencia de que se estén cargando paquetes. Parece que el control remoto ya tiene todo el material de su empuje anterior; solo tiene que estar conectado a los árbitros .git push origin experimental
simplemente crearía la ramaexperimental
en el control remoto.Si el nombre de su sucursal es
experimental
, y el nombre del control remoto esorigin
, entonces esfuente
git push -u <remote-name> <branch-name>
no funciona si la rama recién creada no se genera desde el mismo repositorio, es decir, si no ha creado la nueva rama utilizandogit checkout -b new_branch
, entonces esto no funcionará.Por ejemplo, había clonado dos repositorios diferentes localmente y tuve que copiar repo2 / branch1 a repo1 / y luego empujarlo también.
Este enlace me ayudó a enviar mi sucursal local (clonada desde otro repositorio) a mi repositorio remoto:
fuente
Aquí está la página autorizada de github para la administración remota de github http://github.com/guides/push-a-branch-to-github . Le ayudará a responder todas sus preguntas.
fuente
tl; dr
más información
después de haber realizado algunas confirmaciones en su:
empuja su rama especificando un flujo ascendente en uno de los repositorios remotos como el siguiente:
los controles remotos pueden ser vistos por
por lo general, tendrá un único control remoto predeterminado
origin
. entonces tu comando se vería así:y todos los empujes consiguientes se pueden hacer solo con
git push
.fuente