在我当前正在进行的项目中,我无法使用 SourceTree 初始化
gitflow
。你能帮忙吗?
我的 SourceTree 版本是
2.7.6
。
如果我尝试做
然后我有这个对话框
但是当我确认时,我遇到了错误
我也遇到了完全相同的问题。我将 SourceTree 移至另一个目录,其路径包含其父目录之一中的空格字符。
因此,SourceTree 将其内部 getopt 的路径存储在 ~/.gitflow_export 中(实际上,在每次启动时都会重写),并且包含该空间,但没有所需的引号。
删除目录名称中的空格解决了问题。如果您移动 SourceTree,请确保其路径不包含空格。
/bin/getopt: not a valid identifier
表明 getopt
存在问题。向 Attlassian 报告的情况很少,例如Sourcetree 2.7.1 中的 git-flow 是否损坏了?
按照
安装后设置手动安装
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 3 中的空格(就我而言) 在“应用程序”文件夹中,我选择了用于启动应用程序的图标并删除了空格。 Gitflow 现已运行。 很抱歉,如果您对我的粗暴黑客感到震惊,但它确实有效,而且我没有更多时间来研究这个问题。
就我而言,SourceTree 通过在我的主目录中创建一个文件,用自定义命令覆盖
getopt
命令。删除 SourceTree 后,该设置很难找到。
我需要删除
~/.gitflow_export
文件。
在删除它之前,请仔细检查其中是否没有您仍然需要的内容。