无法通过在 SourceTree 中选择提交 ID 选项来启动功能分支

Not able to start feature branch by selecting commit id option in SourceTree

我正在努力在我的公司实施 Git 流程分支策略,为此我正在测试 SourceTree GitFlow.

中提供的所有可能选项

我目前遇到的两个问题:

  1. 我正在尝试通过选择具有值的指定提交来启动一个新的功能分支,但它因以下错误而失败 sh.exe C:\Users\useraname\AppData\Local\Atlassian\SourceTree\gitflow_local\gitflow\git-flow feature start checkingfeaturebycommit d14c9a9a35d504958e3df6b42db5acfc8466bfd4 Fatal: Base 'd14c9a9a35d504958e3df6b42db5acfc8466bfd4' 需要是一个分支。它不存在并且是必需的。 已完成但有错误,请参见上文。

  2. 启动功能时第二个选项的含义是什么"Working copy parent" 因为当我尝试通过选择此选项启动功能时,它也失败并出现相同的错误。

请帮助我理解这些,如果我做错了什么请告诉我。

$ git flow release start releasefromcommit 35ec45c01872212ad5f33e068c984def5d18a284
Fatal: Base '35ec45c01872212ad5f33e068c984def5d18a284' needs to be a branch. It does not exist and is required.

这是 SourceTree 应用程序中的一个错误,atlassian 支持团队接受了它,并在最新版本中为 hotfix 分支禁用了这些选项,但为其他分支禁用了这些选项。希望他们也能修复或禁用这些功能选项和发布版本,以免其他人感到困惑。

错误 Link:https://community.atlassian.com/t5/Sourcetree-questions/Not-able-to-start-feature-branch-by-selecting-commit-id-option/qaq-p/674112

打开终端

git branch release/yourReleaseName 43331988a3b86cc7ece4d323e8ec578c65437e8847

git flow finish yourReleaseName

如果你正在寻找长字符串,你可以通过多种方式获取它,一种是打开 git 流程,开始发布,从特定的提交中检查,select 你的提交,然后复制粘贴到记事本,然后如果你不能复制粘贴到终端,你可以手动输入(我不得不这样做)

祝你好运(感谢罗杰的回答)

我在这里创建这个答案,以防下次我 运行 遇到这个问题。同样的问题也被问到 on Atlassian's site。答案是:

Hello! This appears to be an issue with git-flow where it will not allow commit SHAs to be used when starting a new feature (I'd suggest that you file a bug here. If you'd like to start a new feature from a branch, then I'd recommend just typing the name of the branch into the "Specified commit" box.

(强调我的)对我有用。

不使用 Gitflow,您可以右键单击需要从中创建发布或功能分支的分支和 select 分支。如果是 feature 则 feature/[feature name] 或者如果它是 release 则 release/[release name]