tag tab practices delete create best git git-remote

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ón whizbang@{push} .