2

Я пытаюсь добавить следующий псевдоним Git в качестве команды в Git Bash (пользователь Windows здесь).

yolo = "!git init && git remote add origin $1 && git pull"

Кажется, ничего из этого не работает. Первый выдает ошибку, а второй экранирует двойную кавычку в .gitconfig в yolo = \"!git init && git remote add origin $1 && git pull\"

$ git config --global alias.yolo "!git init && git remote add origin $1 && git pull"

$ git config --global alias.yolo '"!git init && git remote add origin $1 && git pull"'

Обновление: ошибка, отображаемая первой командой

git config --global alias.yolo "git config --global alias.yolo '"!git init && git remote add origin $1 && git pull"' init && git remote add origin $1 && git pull"
usage: git remote add [<options>] <name> <url>

-f, --fetch           fetch the remote branches
--tags                import all tags and associated objects when fetching
                      or do not fetch any tag at all (--no-tags)
-t, --track <branch>  branch(es) to track
-m, --master <branch>
                      master branch
--mirror[=<push|fetch>]
                      set up remote as a mirror to push to or fetch from

1 ответ1

2

Разве ваш псевдоним не пытается сделать то, что уже делает git clone ?


$1 не будет ничего полезного - расширение псевдонимов Git просто добавляет пользовательские параметры в конце сконфигурированной команды; это не говорит оболочке, что они должны быть отображены в $ @.

Здесь есть два варианта:

  • Определите функцию и запустите ее:

    yolo = "!fred() { git init && git remote add origin \"$1\" && git pull; }; fred"
    

    Таким образом, $ 1 будет означать параметры функции и работать правильно.

  • Напишите скрипт с именем git-yolo:

    (не обязательно должен быть /bin /sh, может быть bash, perl или чем-то еще)

    #!/bin/sh
    git init && git remote add origin "$1" && git pull
    

    Поместите скрипт в каталоги, сконфигурированные с помощью $PATH , например, /usr/local/bin/git-yolo . Это заставит Git распознавать его как подкоманду git yolo .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .