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 originserá posible. Vea mi respuesta a continuacióngit remote get-url originno funciona para mí, posiblemente en desuso?git remote show originfuncionó sin embargo.git remote -vdarle mucha información, incluida esta.git remote get-url origin --pushfunciona bien, aparentemente no se deprecia y proporciona buena información breve (git remote show originpuede 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 showmostrará 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 -vlo sugerido por @Montaro y @rodel..gitconfigarchivo lo tendría, pero no lo vi en el mío.´~/.gitconfiges global para todos losgitrepositorios, 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.urles tu amigo.Si desea esto para fines de secuencias de comandos, solo puede obtener la URL con
fuente
git remote show originsolo 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-urlopció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.urlrecupera la URL original que se configuró congit remote add ...ogit remote set-url ...mientrasgit ls-remote --get-url originrecupera 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/configyremote["origin"]si no lo manipulaste.fuente
Respuesta corta:
o, una alternativa para scripts rápidos puros:
Alguna información:
$ git remote -vimprimirá todos los controles remotos (no lo que desea). ¿Quieres origen verdad?$ git remote show originmucho mejor, muestra solooriginpero lleva demasiado tiempo (probado en git versión 1.8.1.msysgit.1).Terminé con:,
$ git remote show -n originque 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 fetcha 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
aliasllamadasque 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
~/.gitconfigarchivo 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 infocomando 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
originPara
ssh://repositorios:Para
git://repositorios:fuente
sshesto solo funciona en ausencia de lo~/.ssh/configque 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 originusted 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
.bashrco.bash_profilecon MacOS.Por lo tanto, solo debe llamar
giturla 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/configarchivo:Para editar:
vim .git/configonano .git/configfuente
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-parseasí: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-remoteobtener 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.urlsi estás conectado a la red
git remote show originle mostrará la URL desde la que se clonó originalmente un repositorio local de Git.
espero que esto ayude
fuente