Cómo determinar la URL desde la que se clonó originalmente un repositorio Git local
Saqué un proyecto con varias bifurcaciones en GitHub, pero olvidé cuál era. ¿Cómo puedo determinar qué tenedor saqué?
Para obtener solo la URL remota:
git config --get remote.origin.url
Si necesita una salida completa y está en una red que puede llegar al repositorio remoto donde reside el origen:
git remote show origin
Cuando se utiliza git clone
(desde GitHub o cualquier repositorio de origen), el nombre predeterminado para el origen del clon es "origen". El uso git remote show
mostrará la información sobre este nombre remoto. Las primeras líneas deberían mostrar:
C:\Users\jaredpar\VsVim> git remote show origin
* remote origin
Fetch URL: [email protected]:jaredpar/VsVim.git
Push URL: [email protected]:jaredpar/VsVim.git
HEAD branch: master
Remote branches:
Si desea utilizar el valor en un script, deberá utilizar el primer comando que aparece en esta respuesta.
Esto proporciona sólo la URL, que es útil para fines de secuencias de comandos:
git config --get remote.origin.url
Esto imprimirá todas las URL de búsqueda/inserción de sus controles remotos:
git remote -v
Para obtener la respuesta:
git ls-remote --get-url [REMOTE]
Esto es mejor que leer la configuración; consulte la página de manual paragit-ls-remote
:
--get-url
Expanda la URL del repositorio remoto dado teniendo en cuenta cualquier
"url.<base>.insteadOf"
configuración (vergit-config(1)
) y salga sin hablar con el control remoto.
Como señaló @Jefromi, esta opción se agregó en la versión 1.7.5 y no se documentó hasta la versión 1.7.12.2 (2012-09).
Con Git 2.7 (lanzado el 5 de enero de 2015), tienes una solución más coherente usando git remote
:
git remote get-url origin
(bonito colgante de git remote set-url origin <newurl>
)
Véase el compromiso 96f78d3 (16 de septiembre de 2015) de Ben Boeckel ( mathstuf
) .
(Fusionado por Junio C Hamano -- gitster
-- en el compromiso e437cbd , 5 de octubre de 2015) :
remoto: agregue el subcomando get-url
La expansión
insteadOf
es partels-remote --url
y no hay forma de expandirsepushInsteadOf
también.
Agregue unget-url
subcomando para poder consultar ambos, así como una forma de obtener todas las URL configuradas.
get-url:
Recupera las URL de un control remoto.
Las configuraciones parainsteadOf
ypushInsteadOf
se amplían aquí.
De forma predeterminada, solo aparece la primera URL.
- Con '
--push
', se consultan las URL de inserción en lugar de las URL de recuperación.- Con '
--all
', se enumerarán todas las URL del control remoto.
Antes de git 2.7, tenías:
git config --get remote.[REMOTE].url
git ls-remote --get-url [REMOTE]
git remote show [REMOTE]
En resumen, hay al menos cuatro formas:
Probándolo usando el repositorio oficial de Linux:
Menos información:
$ git config --get remote.origin.url
https://github.com/torvalds/linux.git
y
$ git ls-remote --get-url
https://github.com/torvalds/linux.git
Más información:
$ git remote -v
origin https://github.com/torvalds/linux.git (fetch)
origin https://github.com/torvalds/linux.git (push)
Aún más información:
$ git remote show origin
* remote origin
Fetch URL: https://github.com/torvalds/linux.git
Push URL: https://github.com/torvalds/linux.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)