Как я могу запустить GitKraken из командной строки с путем к репозиторию Git в Windows?

Я хотел бы создать кучу ярлыков для открытия репозитория Git

GitKraken запускается так:

C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe"

Я пытался просто добавить путь вот так, но ничего не произошло:

C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe  \"C:\<path to repo with spaces>\MyRepo1\""
C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe  \"C:\<path to repo with spaces>\MyRepo2\""
C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe  \"C:\<path to repo with spaces>\MyRepo3\""

Проблем может быть несколько:

  1. GitKraken может не поддерживать путь в качестве параметра. Не нашел никакой документации, когда гуглил "gitkraken из командной строки с путем к репозиторию в качестве параметра"
  2. Кавычки внутри кавычек могут быть неправильными, но я думаю, что это правильно: Командная строка, передающая кавычки внутри кавычек< /а>
  3. Синтаксис командной строки может быть другим, но, как упоминалось выше, я не нашел никакой документации. Я попробовал "-p", потому что видел что-то похожее в гугле, но это тоже не сработало C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe -p \"C:\<path to repo with spaces>\MyRepo1\""

person Lernkurve    schedule 18.12.2018    source источник


Ответы (2)


GitKraken использует проект Squirrel.Windows для установки и управления обновлениями для своих установок Windows. Таким образом, update.exe, который запускается, когда вы нажимаете ярлык с надписью «GitKraken», запускает процесс Squirrel.Windows, который проверяет и загружает обновления, а затем запускает новейшую версию GitKraken. После завершения этой проверки он запускает GitKraken.exe и запускает программу.

Чтобы решить вашу проблему, вам нужно будет передать параметр CLI через вызов Squirrel в файл gitkraken.exe. Вы правы в том, что gitkraken.exe принимает вариант -p | --path для открытия репо при запуске (например, gitkraken.exe -p "\path\to\repo"). Если вы запустите его напрямую из папки приложения, вы увидите параметры, доступные в gitkraken.exe --help. К счастью, есть пара пока еще недокументированных опций, которые вы можете передать, которые сделают это за вас (ссылка на здесь), так что ваш собственный ярлык теперь может быть таким:

..\Update.exe --processStart "gitkraken.exe" --process-start-args="--path \"d:\path with spaces\to\repo\""

Re: сохранение через обновления исполняемых файлов GitKraken. OP подтвердил в комментариях после того, как GitKraken обновился до версии 4.2, что созданные ими ярлыки продолжали работать!

person Edward    schedule 28.12.2018
comment
Следующее работает, если в пути есть пробелы: --process-start-args="--path \"d:\<path with spaces\repo\"". И как ни странно, обратную косую черту в путях экранировать не нужно, так что d:\path работало, и d:\\path тоже. - person Lernkurve; 31.12.2018
comment
Рад, что это сработало для вас, @Lernkurve, и спасибо за продолжение (я обновил пост, чтобы отразить то, что вы обнаружили в свободных пространствах). Дайте мне знать, если вы узнаете, как это работает с обновлениями для gitKraken! - person Edward; 02.01.2019
comment
Большое спасибо, Эдуард! - person Lernkurve; 03.01.2019
comment
Эдвард, так что GitKraken только что автоматически обновился до версии 4.2, и ярлыки на рабочем столе все еще работают нормально. - person Lernkurve; 08.01.2019
comment
Это сработало только для меня, когда я удалил знак = после --process-start-args и заменил его пробелом. - person Tim Friesen; 27.09.2019

Это то, что работает для меня в Ubuntu Desktop

Определите это

gkk() { # gkk aka gitkraken
    repo_d=$1
    if [ -z $repo_d   ]; then repo_d=`pwd`; fi
    if [ ! -d $repo_d ]; then echo "Invalid :repo_d at $repo_d"; exit 1; fi
        /usr/bin/gitkraken -p $repo_d &
}

Используй это

cd /path/to/your/repo
gkk

Обратите внимание: повторный вызов команды во втором репозитории НЕ будет работать!

Обходной путь, который я могу придумать, - закрыть и снова открыть приложение GitKraken.

person Nam G VU    schedule 22.10.2020