【问题标题】:Can't initialise git-flow with SourceTree无法使用 SourceTree 初始化 git-flow
【发布时间】:2025-12-23 02:20:18
【问题描述】:

我的问题

在我正在进行的当前项目中,我无法使用 SourceTree 初始化 gitflow。你能帮忙吗?

我的 SourceTree 版本是2.7.6

截图

如果我尝试这样做

然后我有这个对话框

但是当我确认时,我有错误

【问题讨论】:

    标签: atlassian-sourcetree git-flow


    【解决方案1】:

    我遇到了完全相同的问题。我将 SourceTree 移到了另一个目录,它的路径包含来自其父目录之一的空格字符。

    因此,SourceTree 将其内部 getopt 的路径存储在 ~/.gitflow_export 中(实际上,在每次启动时都会重写),并且包含该空间而没有所需的引号。

    删除目录名称中的空格解决了这个问题。如果您移动 SourceTree,请确保其路径不包含空格。

    【讨论】:

    • 感谢 Frank L. 提供的帮助。 :)
    • 对我来说也一样:从 SourceTree 应用程序的路径中删除所有空格
    【解决方案2】:

    /bin/getopt: not a valid identifier 建议 getopt 存在问题。很少有人向 Attlassian 报告,例如Is git-flow broken in Sourcetree 2.7.1?

    按照Post installation setup手动安装getopt的可能解决方法:

    通过 Homebrew 安装 GNU getopt:

    brew install gnu-getopt

    使用内容导出 FLAGS_GETOPT_CMD="$(brew --prefix gnu-getopt)/bin/getopt" 创建一个 ~/.gitflow_export。

    对于 1.4.0-dev.28 之前的 git-flow 版本

    使用内容别名 getopt="$(brew --prefix gnu-getopt)/bin/getopt" 创建一个 ~/.gitflow_export。

    如果您通过 Homebrew 以外的其他方式安装了 GNU getopt,请将 $(brew --prefix gnu-getopt)/bin/getopt 替换为 GNU getopt 文件的位置。

    【讨论】:

    • 它没有用。每当我启动 Sourcetree 时,`~/.gitflow_export` 都会重新初始化为另一个值。
    • 发生在@Colas 身上的同样的事情也发生在我身上工作了一次,然后覆盖了`~/.gitflow_export`。谢谢你的回复:)
    【解决方案3】:

    提前道歉。设法通过 hack 为自己解决了这个问题。 我的解决方案是基于上述观察。 (我试过了) 问题是名称 Sourcetree 3 中的空格(在我的情况下) 在 Applications 文件夹中,我选择了启动应用程序的图标并删除了空间。 Gitflow 现在正在工作。 抱歉,如果您对我粗鲁的 hack 感到恐惧,但它确实有效,我没有更多时间来解决这个问题。

    【讨论】: