【问题标题】:How can I start GitKraken from the command line with a Git repository path on Windows?如何在 Windows 上使用 Git 存储库路径从命令行启动 GitKraken?
【发布时间】:2019-05-19 10:10:48
【问题描述】:

我想创建一堆快捷方式来打开 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 from command line with repository path as parameter”时没有找到任何文档
  2. 引号内的引号可能是错误的,但我认为它是正确的:Command line passing quotes within quotes
  3. 命令行语法可能不同,但如上所述,我没有找到任何文档。我尝试了“-p”,因为我在谷歌搜索时看到了类似的东西,但它也不起作用C:\Users\&lt;username&gt;\AppData\Local\gitkraken\Update.exe --processStart "gitkraken.exe -p \"C:\&lt;path to repo with spaces&gt;\MyRepo1\""

【问题讨论】:

    标签: gitkraken


    【解决方案1】:

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

    要解决您的问题,您需要通过 Squirrel 调用将 CLI 选项传递到 gitkraken.exe。你是对的,gitkraken.exe 接受 -p | --path 选项以在启动时打开 repo(例如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\""
    

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

    【讨论】:

    • 如果路径中有空格,则以下内容有效:--process-start-args="--path \"d:\&lt;path with spaces\repo\""。奇怪的是,没有必要用反斜杠转义路径中的反斜杠,所以d:\path 起作用了,d:\\path 也起作用了。
    • 很高兴它为您工作@Lernkurve 并感谢您的跟进(我确实更新了帖子以反映您发现的可用空间。)如果您发现它如何与更新一起使用,请告诉我gitKraken!
    • 非常感谢,爱德华!
    • Edward,所以 GitKraken 刚刚自动更新到 4.2 版,桌面快捷方式仍然可以正常工作。
    • 这仅在我删除 --process-start-args 之后的 = 符号并将其替换为空格时才对我有用。
    【解决方案2】:

    这就是我在 Ubuntu 桌面上的工作

    定义它

    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
    

    注意,在第二次 repo 再次调用该命令将不起作用!

    我能想到的解决方法是关闭并重新打开 GitKraken 应用

    【讨论】:

      猜你喜欢
      • 2013-06-22
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      相关资源
      最近更新 更多