2011-01-20 46 views
110

Tengo Git configurado de modo que cuando ejecuto git push, empuja los cambios a mi repositorio de GitHub. Hasta ahora solo tenía una rama maestra.Empujar una rama local hasta GitHub

Sin embargo, ahora he creado una rama local y comprometidos con él usando:

git checkout -b my_new_branch 
git commit 

Lo que me gustaría hacer ahora es empujar mis cambios en esta rama en GitHub. ¿Acabo de hacer un git push?

La primera vez que la levantó Lo hice correr:

git config push.default current 
+0

¿Cuál es exactamente su pregunta? Con 'push.default' establecido de esa manera, sí,' git push' empujará la rama actual al origen, que es su repo de github, suponiendo que haya clonado desde allí. (Podría especificar un control remoto diferente con 'branch.my_new_branch.remote' si quisieras.) Entonces, ¿has intentado esto y no funciona? – Cascabel

+1

Si desea que todas sus sucursales locales se dirijan a la misma sucursal remota, sea explícito: git push origen HEAD: remote_branch –

Respuesta

216

Creo que estás buscando git push origin my_new_branch, asumiendo el control remoto origen está configurado para que alcance su repositorio GitHub.

+0

git push según https://www.atlassian.com/git/tutorials/syncing/git- push – vikramvi

+0

¡Fantástico, simple y al grano! –

+2

Si luego desea trabajar en esta rama con otras personas y, por lo tanto, hacer git pull, querrá establecer la información de seguimiento para su nueva sucursal: 'git branch --set-upstream-to = origin/my_new_branch my_new_branch' – gloriphobia

-9

Si ha configurado su git para enviarlo a su repositorio maestro de GitHub, no importa la ubicación de la sucursal, se enviará a su repositorio maestro de GitHub.

Tenga en cuenta que, si muchos desarrolladores trabajan en el mismo repositorio, podría tener un conflicto.

+0

Ejecuté git config push.default actual – Noam

8

Dependiendo de su configuración de git local, si tiene una rama desprotegida que no es la que clonó o una que existe donde está tratando de presionar, git no empujará su sucursal local.

Aquí es el mensaje que ofrece:

advertencia: push.default no está definida; su valor implícito ha cambiado en Git 2.0 de 'coincidencia' a 'simple'. Para sofocar este mensaje y mantener el comportamiento tradicional, utilice:

git config --global push.default juego

para aplastar este mensaje y adoptar el nuevo comportamiento ahora, el uso:

git config - global push.default simple

Cuando push.default se establece en 'matching', git insertará las ramas locales en las sucursales remotas que ya existen con el mismo nombre.

Desde Git 2.0, Git por defecto es el más conservador 'simple' comportamiento, que sólo empuja la rama actual a la correspondiente rama remoto que git pull '' utiliza para actualizar la rama actual.

Consulte 'git help config' y busque 'push.default' para obtener más información acerca de . (El modo 'simple' fue introducido en Git 1.7.11 Utilizar el modo similares 'actual' en lugar de 'simple' si se utiliza a veces de más edad versiones de Git.)

fatal: la rama actual MyLocalBranch no tiene aguas arriba rama. Para empujar el rama actual y establecer la distancia como aguas arriba, utilizar

git push --set-upstream origin MyLocalBranch 
Cuestiones relacionadas