gpt4 book ai didi

git - 如何从当前分支获取git父分支名称?

转载 作者:太空狗 更新时间:2023-10-29 13:12:02 26 4
gpt4 key购买 nike

目前我在一个功能分支中,但我不知道它是从我的开发分支还是发布分支创建的。

谁能告诉我如何从当前的 git 分支获取父分支名称。

最佳答案

鉴于 Git 使用有向无环图并且通常一个 repo 只有一个根,因此您的所有分支都指向一个初始提交。因此,您真正想要的是与您的分支共享最大历史的分支。

您不能只查找其 HEAD 包含在当前分支历史记录中的分支,因为此分支 HEAD 很可能从那时起已经移动。

所以我建议你使用 git merge-base,它可以找到两个分支或提交的最新共同祖先(也称为 fork 点):

$ git merge-base feature develop
12345abc
$ git merge-base feature release
98765fed

这将分别输出出现在两个分支的历史记录中的两个提交。两者之一将包含在 both 分支中,因此您可以将它们再次提供给 merge-base 以获得您想要的提交(或者更确切地说,您 想要):

git merge-base 12345abc 98765fed
98765fed

所以在我们的示例中,feature 派生自 develop,因为两者共享 release 没有的提交。

请注意,这仅在您不在功能和开发之间进行交叉 merge 时才有效。

关于git - 如何从当前分支获取git父分支名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38495989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com