gpt4 book ai didi

git - 从 git commit 确定分支名称

转载 作者:太空狗 更新时间:2023-10-29 14:35:04 26 4
gpt4 key购买 nike

我假设一个 git commit hash (5743a31610d38064af35573b91e3bbe39d808b9b) 总是映射到 0 或 1 个 git 分支?是否有可靠的方法来跟踪创建 git commit 时的分支名称?据我所知,git 分支是指向提交的指针,给定一个提交,我们能否可靠地指向一个分支(如果该分支仍然存在)?

上下文:我正在创建一些 devops 部署更改日志,以便我们可以跟踪我们更改的内容 - 我想知道是否值得命名已发布的 git 分支,或者只是将 git 提交哈希放在那里,并且如果我们真的想,我们可以反向查找分支名称吗?

最佳答案

I assume that a git commit hash (5743a31610d38064af35573b91e3bbe39d808b9b) will always map to 0 or 1 git branches?

这是一个错误的假设。在典型的存储库中,每个分支上都有一个提交(根提交)。

相反的方向仍然成立:从名称(分支或标签名称,或者实际上,任何标识提交的引用),您可以找到以该名称命名的(单个)提交。为此,请使用 git rev-parse <em>name</em>^{commit} .

提交哈希唯一地标识了一个特定的提交,您可以通过从给定分支或标记标识的一个提交遍历图形来找到允许您到达该提交的所有分支或标记名称:

git branch --contains <hash>
git tag --contains <hash>

Context: I am creating some devops deployment change-logs so we can keep track of what we changed - I am wondering if it's worthwhile to name the git branches that were released, or just put the git commit hash in there, and we can reverse lookup the branch name if we really want to?

这里通常的方法是创建一个标签名称来标识交给特定用户的特定提交。由于标签命名一个对象(通常是一个提交),并且您可以完全控制标签的拼写,所以这往往特别有效。

关于git - 从 git commit 确定分支名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56798837/

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