tab - git tag push to server
¿Será diferente la URL remota para búsqueda y inserción? (2)
De la documentación, las URL de Fetch y Push deben ser las mismas.
http://git-scm.com/docs/git-remote
Comando para establecer empujar y buscar urls
''git remote set-url'' [--push] <name> <newurl> [<oldurl>]
Tenga en cuenta que la URL de inserción y la URL de recuperación, a pesar de que pueden configurarse de manera diferente, deben referirse al mismo lugar. Lo que ingresó a la URL de inserción debería ser lo que vería si obtuviera inmediatamente la URL de búsqueda. Si está intentando recuperar un lugar (p. Ej., Su flujo ascendente) e ir a otro (p. Ej., Su repositorio de publicación), use dos controles remotos separados.
git remoto --v muestra información remota
origin https://github.com/test/testing-iOS.git (fetch)
origin https://github.com/test/testing-iOS.git (push)
Muestra que tanto fetch como push están usando la misma URL remota.
Pregunta:
¿Cuándo (si alguna vez) será diferente la URL remota para obtener y enviar?
¿Qué comandos puede usar para cambiar la URL remota para obtener o enviar por separado?
Sí (usando un control remoto diferente), y es por eso que Git 2.5 introduce una nueva referencia de taquigrafía @{push}
.
Consulte " Visualización de confirmaciones de Git sin apilar "
¿Qué comandos puede usar para cambiar la URL remota para obtener o enviar por separado?
Necesita un control remoto separado:
git remote add myfork /url/for/my/fork
git config remote.pushdefault myfork
La publicación del blog de GitHub " Soporte mejorado para flujos de trabajo triangulares " ilustra el uso de @{push}
:
Vea los compromisos que ha agregado a su rama actual desde el último impulso:
git clone https://github.com/YOUR-USERNAME/atom
cd atom
git config remote.pushdefault origin
git config push.default current
-
remote.pushdefault
especifica dónde empujar (a qué repositorio remoto). -
push.default
especifica qué empujar (qué refspec), cuando no se proporciona explícitamente refspec.
current
, en este último caso, significa "empujar la rama actual para actualizar una rama con el mismo nombre en el extremo receptor".
La siguiente rama obtendrá de una url, empujará a otra:
git remote add upstream https://github.com/atom/atom
git fetch upstream
git checkout -b whizbang upstream/master
(Aquí, las ramas de whizbang
upstream/master
, pero empujan a origin/whizbang
)
git log @{push}..
Esto utiliza la nueva notación
@{push}
, que denota el valor actual de la rama de seguimiento remoto a la que la rama actual sería empujada por git push, a saber,origin/whizbang
.
También puede referirse al destino de inserción de una rama arbitraria utilizando la notaciónwhizbang@{push}
.