hub alias
não parece levar --noop
em conta, então oculta git-alias
de https://github.com/visionmedia/git-extras.
Como é um comando específico do hub e só é útil no momento da configuração, proponho:
--noop
hub [--alias|--shell-alias] [SHELL]
$0
for explicitamente hub
Levei um tempo para descobrir o que você está dizendo. Basicamente, hub alias
sombreia os outros git-alias
comandos que podem existir no sistema (neste caso, um é fornecido por git-extras), certo?
Sou a favor de sua proposta 3. No entanto, esse comportamento pode ser surpreendente para alguns porque em todos os outros casos, chamar hub <something>
deve ser idêntico a git <something>
(quando hub
tem o alias de git
). Eu preciso pensar sobre isso.
Obrigado pelo aviso!
Desculpe se não fui claro; você me entendeu corretamente.
Algo como hub alias-command
poderia funcionar tão bem e ser um pouco mais claro?
Ou algo parecido ...
Em primeiro lugar, --noop
não encaminha todos os comandos para git
. Apenas mostra o que seria executado por hub
, mas não o executa.
Gosto da ideia de fazer hub alias
funcionar apenas se o comando for invocado como hub
e não git
. No entanto, não sei como fazer isso tecnicamente; o valor de $0
é hub
para mim, independentemente se eu o invoquei por meio de um git
alias ou não.
A próxima opção é torná-lo um sinalizador personalizado, como hub --alias
. No entanto, isso quebra a compatibilidade com as pessoas que já incorporaram eval "$(hub alias -s)"
é um shell.
@cdlm @mislav O hub torna os aliases git-extras inúteis se eu tiver o alias do git para hub? Não posso usar nenhum dos aliases git-extras incríveis mencionados aqui https://github.com/tj/git-extras/blob/master/Commands.md ?
Você pode usar todos os comandos git-extras, exceto git alias
e git fork
daquele repo, porque hub alias
e hub fork
terão precedência.
Você pode usar git-alias
e git-fork
vez disso, ou ignorar o git
alias com \
(barra invertida): \git alias
. Não sou um especialista em go, mas tenho andado mexendo por aí e não importa como eu execute o executável go os.Args[0]
sempre fornece o nome verdadeiro do executável, que é hub
, como @ mislav disse.
No caso de hub alias
talvez você possa usar o fato de que -s
é passado para executar hub alias
, caso contrário, imprimir um aviso de descontinuação ou encaminhar para git
comando.
Para qualquer comando, se você quiser pular hub
completamente do seu shell, basta fazer command git ...
. Por exemplo, command git alias
.
Sim, e isso tem o mesmo efeito que usar barra invertida \
, _e.g._ \git
Comentários muito úteis
Para qualquer comando, se você quiser pular
hub
completamente do seu shell, basta fazercommand git ...
. Por exemplo,command git alias
.