【发布时间】:2025-12-23 02:20:18
【问题描述】:
我的问题
在我正在进行的当前项目中,我无法使用 SourceTree 初始化 gitflow。你能帮忙吗?
我的 SourceTree 版本是2.7.6。
截图
如果我尝试这样做
然后我有这个对话框
但是当我确认时,我有错误
【问题讨论】:
标签: atlassian-sourcetree git-flow
在我正在进行的当前项目中,我无法使用 SourceTree 初始化 gitflow。你能帮忙吗?
我的 SourceTree 版本是2.7.6。
如果我尝试这样做
然后我有这个对话框
但是当我确认时,我有错误
【问题讨论】:
标签: atlassian-sourcetree git-flow
我遇到了完全相同的问题。我将 SourceTree 移到了另一个目录,它的路径包含来自其父目录之一的空格字符。
因此,SourceTree 将其内部 getopt 的路径存储在 ~/.gitflow_export 中(实际上,在每次启动时都会重写),并且包含该空间而没有所需的引号。
删除目录名称中的空格解决了这个问题。如果您移动 SourceTree,请确保其路径不包含空格。
【讨论】:
/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 文件的位置。
【讨论】:
提前道歉。设法通过 hack 为自己解决了这个问题。 我的解决方案是基于上述观察。 (我试过了) 问题是名称 Sourcetree 3 中的空格(在我的情况下) 在 Applications 文件夹中,我选择了启动应用程序的图标并删除了空间。 Gitflow 现在正在工作。 抱歉,如果您对我粗鲁的 hack 感到恐惧,但它确实有效,我没有更多时间来解决这个问题。
【讨论】: