Saqué un proyecto de GitHub hace unos días. Desde entonces descubrí que hay varias bifurcaciones en GitHub, y descuidé notar cuál tomé originalmente. ¿Cómo puedo determinar cuál de esos tenedores saqué?
git
github
git-remote
Tim
fuente
fuente
git remote get-url origin
será posible. Vea mi respuesta a continuacióngit remote get-url origin
no funciona para mí, posiblemente en desuso?git remote show origin
funcionó sin embargo.git remote -v
darle mucha información, incluida esta.git remote get-url origin --push
funciona bien, aparentemente no se deprecia y proporciona buena información breve (git remote show origin
puede ser muy detallado) qvgit help remote
.Respuestas:
Si solo desea la URL remota, o si no está conectado a una red que puede alcanzar el repositorio remoto:
Si necesita una salida completa y está en una red que puede alcanzar el repositorio remoto donde reside el origen:
Cuando se utiliza
git clone
(desde GitHub, o cualquier repositorio de origen para el caso) el nombre predeterminado para el origen del clon es "origen". El usogit remote show
mostrará la información sobre este nombre remoto. Las primeras líneas deberían mostrar:Si desea usar el valor en la secuencia de comandos, usaría el primer comando que figura en esta respuesta.
fuente
git remote show origin
(opcionalmente con el indicador -n proporcionado por @ Casey), o congit remote -v
lo sugerido por @Montaro y @rodel..gitconfig
archivo lo tendría, pero no lo vi en el mío.´~/.gitconfig
es global para todos losgit
repositorios, esto aquí proviene de la configuración local que generalmente está en.git/config
(sin embargo, para git-submodules la respuesta es un poco más difícil). Tenga en cuenta questrace git config --get remote.origin.url
es tu amigo.Si desea esto para fines de secuencias de comandos, solo puede obtener la URL con
fuente
git remote show origin
solo muestra "conq: el repositorio no existe").url.<base>.insteadOf
. Vea mi respuesta: git tiene un comando para este propósito.Puedes probar:
Imprimirá todas las URL de búsqueda / inserción de sus controles remotos.
fuente
Para obtener la respuesta:
Esto es mejor que leer la configuración; consulte la página de manual para
git-ls-remote
:Como señaló @Jefromi, esta opción se agregó en v1.7.5 y no se documentó hasta v1.7.12.2 (2012-09).
fuente
origin
.remote get-url
opción anterior. Es un reemplazo directo.Con Git 2.7 (lanzamiento el 5 de enero de 2015), tiene una solución más coherente usando
git remote
:(bonito colgante de
git remote set-url origin <newurl>
)Ver commit 96f78d3 (16 de septiembre de 2015) por Ben Boeckel (
mathstuf
) .(Fusionada por Junio C Hamano -
gitster
- en commit e437cbd , 05 oct 2015) :Antes de git 2.7, tenías:
fuente
Para resumir, hay al menos cuatro formas:
(Se intentó lo siguiente para el repositorio oficial de Linux)
Menos información:
y
Más información:
Aún más información:
fuente
git config --get remote.origin.url
recupera la URL original que se configuró congit remote add ...
ogit remote set-url ...
mientrasgit ls-remote --get-url origin
recupera la URL que realmente se utiliza para acceder al control remoto, que podría ser diferente en presencia degit config --global url.XXX.insteadOf YYY
. ¡Entonces ambas salidas pueden diferir! También tenga en cuenta quegit ls-remote --get-url
(sinorigin
) no necesariamente se recuperaorigin
, sino que muestra el seguimiento en sentido ascendente, por lo que fallará, por ejemplo, en el estado HEAD separado.Creo que puedes encontrarlo debajo
.git/config
yremote["origin"]
si no lo manipulaste.fuente
Respuesta corta:
o, una alternativa para scripts rápidos puros:
Alguna información:
$ git remote -v
imprimirá todos los controles remotos (no lo que desea). ¿Quieres origen verdad?$ git remote show origin
mucho mejor, muestra soloorigin
pero lleva demasiado tiempo (probado en git versión 1.8.1.msysgit.1).Terminé con:,
$ git remote show -n origin
que parece ser el más rápido. Con-n
él no se buscarán cabezales remotos (ramas AKA). No necesitas ese tipo de información, ¿verdad?http://www.kernel.org/pub//software/scm/git/docs/git-remote.html
Puede aplicar
| grep -i fetch
a las tres versiones para mostrar solo la URL de búsqueda.Si necesita velocidad pura, use:
Gracias a @Jefromi por señalar eso.
fuente
Para mí, esta es la forma más fácil (menos escribir):
en realidad, tengo eso en una
alias
llamadas
que hace:Puede agregar a su perfil con:
alias s='git remote -v && git status'
fuente
Nunca puedo recordar todos los parámetros de los comandos de Git, así que solo pongo un alias en el
~/.gitconfig
archivo que tiene más sentido para mí, para poder recordarlo y resulta en menos tipeo:Después de volver a cargar la terminal, puede simplemente escribir:
Aquí hay algunos más de mis más utilizados:
También recomiendo git-extras que tiene un
git info
comando que proporciona información mucho más detallada sobre las sucursales locales y remotas.fuente
La URL de Git estará dentro del archivo de configuración de Git. El valor corresponde a la clave
url
.Para Mac y Linux, use los siguientes comandos:
Para Windows, abra el archivo a continuación en cualquier editor de texto y encuentre el valor de la clave
url
.Nota: Esto funcionará incluso si está fuera de línea o si el servidor git remoto ha sido desconectado.
fuente
git remote get-url origin >> fatal: No such remote 'origin'
,git config --get remote.origin.url >>
Básicamente uso:
Funciona para la consola de comando Git Bash o la consola de comando CMD en Windows. Dicho esto, funciona con la versión 2.x de Git.
fuente
Este comando le dará toda la información relacionada con su repositorio.
fuente
Es posible que el control remoto de la cadena ascendente no se llame "origen", así que aquí hay una variación:
O:
Para variables más útiles hay:
fuente
Para obtener la dirección IP / nombre de host de
origin
Para
ssh://
repositorios:Para
git://
repositorios:fuente
ssh
esto solo funciona en ausencia de lo~/.ssh/config
que reescribe el nombre de host o alias.Para complementar las otras respuestas: si por alguna razón el control remoto ha cambiado y no refleja el origen original , la primera entrada en el registro (es decir, la última entrada mostrada por el comando
git reflog
) debe indicar dónde se clonó originalmente el repositorio. desde.p.ej
(Tenga en cuenta que el reflog puede ser purgado, por lo que no se garantiza que funcione).
fuente
Con
git remote show origin
usted tiene que estar en el directorio de proyectos. Pero si desea determinar las URL desde cualquier otro lugar, puede usar:Si necesita este comando con frecuencia, puede definir un alias en su
.bashrc
o.bash_profile
con MacOS.Por lo tanto, solo debe llamar
giturl
a la carpeta raíz de Git para obtener simplemente su URL.Si extiende este alias así
obtienes solo la URL sin el precedente
en
obtienes más posibilidades en su uso:
Ejemplo
En Mac, puede llamar
open $(giturl)
para abrir la URL en el navegador estándar.O
chrome $(giturl)
para abrirlo con el navegador Chrome en Linux.fuente
Una forma simple es abrir el
.git/config
archivo:Para editar:
vim .git/config
onano .git/config
fuente
Imprima URL de búsqueda remota con nombres arbitrarios:
fuente
Si no conoce el nombre del control remoto ascendente para una sucursal, puede buscarlo primero inspeccionando el nombre de la sucursal ascendente sobre el que se construyó la sucursal actual. Usar
git rev-parse
así:Esto muestra esa rama ascendente que fue la fuente de la rama actual. Esto se puede analizar para obtener el nombre remoto de esta manera:
Ahora tome eso y canalícelo hasta
git ls-remote
obtener la URL del control remoto ascendente que es la fuente de la rama actual:Ahora debe tenerse en cuenta que esto no es necesariamente lo mismo que el repositorio remoto de origen desde el que se clonó. Sin embargo, en muchos casos será suficiente.
fuente
Uso:
Salida:
fuente
Prefiero este ya que es más fácil de recordar:
Enumerará toda la información útil, como:
fuente
fácil solo use este comando donde colocó la carpeta .git
git config --get remote.origin.url
si estás conectado a la red
git remote show origin
le mostrará la URL desde la que se clonó originalmente un repositorio local de Git.
espero que esto ayude
fuente