hub alias
no parece tener en cuenta --noop
, por lo que oculta git-alias
de https://github.com/visionmedia/git-extras.
Dado que es un comando específico del concentrador y solo es útil en el momento de la configuración, propongo:
--noop
hub [--alias|--shell-alias] [SHELL]
$0
es explícitamente hub
Me tomó un tiempo darme cuenta de lo que estás diciendo. Básicamente, hub alias
sombrea los otros comandos git-alias
que pueden existir en el sistema (en este caso, uno lo proporciona git-extras), ¿verdad?
Estoy a favor de tu propuesta 3. Sin embargo, este comportamiento puede sorprender a algunos porque en cualquier otro caso, llamar a hub <something>
debería ser idéntico a git <something>
(cuando hub
tiene un alias como git
). Necesito pensarlo.
¡Gracias por el aviso!
Lo siento si no estaba claro; me entendiste correctamente.
¿Podría algo como hub alias-command
funcionar igual de bien y ser un poco más claro?
O algo similar...
En primer lugar, --noop
no reenvía todos los comandos a git
. Solo muestra lo que hub
ejecutaría, pero no lo ejecuta.
Me gusta la idea de hacer que hub alias
solo funcione si el comando se invocó como hub
y no git
. Sin embargo, no sé cómo hacer esto técnicamente; el valor de $0
es hub
para mí, independientemente de si lo invoqué a través de un alias git
o no.
La siguiente opción es convertirla en una bandera personalizada como hub --alias
. Sin embargo, esto rompe la compatibilidad con las personas que ya han incorporado eval "$(hub alias -s)"
es un shell.
@cdlm @mislav ¿Hub hace que los alias de git-extras sean inútiles si tengo un alias de git en hub? ¿No puedo usar alguno de los increíbles alias de git-extras que se mencionan aquí https://github.com/tj/git-extras/blob/master/Commands.md ?
Puede usar todos los comandos git-extras excepto git alias
y git fork
de ese repositorio, porque hub alias
y hub fork
tendrán prioridad.
Puede usar git-alias
y git-fork
lugar, o omitir el alias git
con \
(barra invertida): \git alias
. No soy un experto en go, pero he estado jugando y no importa cómo ejecute el ejecutable de go os.Args[0]
siempre da el verdadero nombre del ejecutable, que es hub
, como @ dijo
En el caso de hub alias
quizá puede utilizar el hecho de que -s
se pasa a ejecutar hub alias
, imprima otra manera un aviso de desaprobación o el avance hacia el git
mando.
Para cualquier comando, si desea omitir hub
completo desde su shell, simplemente haga command git ...
. Por ejemplo, command git alias
.
Sí, y eso tiene el mismo efecto que usar la barra invertida \
, _e.g._ \git
Comentario más útil
Para cualquier comando, si desea omitir
hub
completo desde su shell, simplemente hagacommand git ...
. Por ejemplo,command git alias
.