Pavel Asked:2020-05-06 16:02:52 +0000 UTC2020-05-06 16:02:52 +0000 UTC 2020-05-06 16:02:52 +0000 UTC 获取父分支名称 772 该项目有主要分支develop和stable. 在某些情况下,每个单独功能的分支都是从 中创建的develop,在某些情况下是从 中创建的stable,但现在有必要找出其中一个旧功能,它是从哪个分支创建的。我怎样才能做到这一点? git 1 个回答 Voted Best Answer vmchar 2020-05-07T19:34:21Z2020-05-07T19:34:21Z 因此,在 git 中没有针对此类问题的内置解决方案,但是通过将 git 与 bash 结合使用,可以立即找到该问题的几个潜在解决方案: git branch --contains develop | grep "brach_name"- 此命令将首先查找从开发创建的所有分支,然后使用 grep 过滤以搜索所需的分支。如果指定的分支不在develop创建的分支中,则输出为空,否则将显示分支名称本身。在这种情况下,您不需要切换到所需的分支。 更难的选择: git show-branch -a \ | grep '\*' \ | grep -v `git rev-parse --abbrev-ref HEAD` \ | head -n1 \ | sed 's/.*\[\(.*\)\].*/\1/' \ | sed 's/[\^~].*//' 我们通常显示所有分支的列表,然后使用控制台魔法,我们查找分支的父级。需要过渡到我们正在寻找父级的分支。 我将立即预订解决方案仅在 mac OS 上进行了测试,但鉴于 bash 与 Unix / Linux 的相似性,它也应该可以在没有更改的情况下在那里工作。在 Windows 下,您可以轻松地进行类似的命令。更多信息和解决方案可以在这个关于 SO 的问题中看到。
因此,在 git 中没有针对此类问题的内置解决方案,但是通过将 git 与 bash 结合使用,可以立即找到该问题的几个潜在解决方案:
git branch --contains develop | grep "brach_name"- 此命令将首先查找从开发创建的所有分支,然后使用 grep 过滤以搜索所需的分支。如果指定的分支不在develop创建的分支中,则输出为空,否则将显示分支名称本身。在这种情况下,您不需要切换到所需的分支。更难的选择:
我们通常显示所有分支的列表,然后使用控制台魔法,我们查找分支的父级。需要过渡到我们正在寻找父级的分支。
我将立即预订解决方案仅在 mac OS 上进行了测试,但鉴于 bash 与 Unix / Linux 的相似性,它也应该可以在没有更改的情况下在那里工作。在 Windows 下,您可以轻松地进行类似的命令。更多信息和解决方案可以在这个关于 SO 的问题中看到。