如何在Windows上使用Git存储库路径从命令行启动GitKraken?

时间:2018-12-18 23:06:08

标签: gitkraken

我想创建一堆快捷方式来打开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可能不支持将路径作为参数。当我在Google上搜索“以存储库路径作为参数的命令行中的gitkraken”时,找不到任何文档
  2. 用引号引起来的报价可能是错误的,但我认为这是正确的:Command line passing quotes within quotes
  3. 命令行语法可能有所不同,但是如上所述,我没有找到任何文档。我尝试使用“ -p”是因为在谷歌搜索时看到了类似的内容,但是C:\Users\<username>\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe -p \"C:\<path to repo with spaces>\MyRepo1\""
  4. 均不起作用

2 个答案:

答案 0 :(得分:1)

GitKraken使用Squirrel.Windows项目进行Windows的安装和更新管理。因此,单击标记为“ GitKraken”的快捷方式时正在运行的update.exe正在运行Squirrel.Windows进程,该进程检查并下载更新,然后运行最新版本的GitKraken。完成检查后,它将启动GitKraken.exe并启动程序。

要解决您的问题,您将需要通过Squirrel调用将CLI选项传递到gitkraken.exe中。您是正确的,gitkraken.exe接受了-p | --path选项以使存储库在启动时打开(例如gitkraken.exe -p "\path\to\repo")。如果直接从app文件夹运行它,则可以在gitkraken.exe --help上看到可用的选项。幸运的是,您可以传递几个尚未记录的选项,这些选项可以为您进行传递(引用为here),因此您的自定义快捷方式现在可以是:

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

关于:通过GitKraken可执行文件更新的持久性-OP在GitKraken更新到v4.2后已在注释中确认,他们设置的快捷方式继续有效!

答案 1 :(得分:0)

这就是在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应用程序