如何在不使用分支或标签的情况下将提交标记为“稳定”?

问题描述 投票:0回答:1

听说有人用两个分支(具体名字不详) 事):

  • stable
    用于稳定提交[1]
    • dev
      被认为准备就绪时,会合并到
      stable
  • dev
    是开发发生的分支
    • 所有新工作(新功能、错误修复)都从这个分支开始
    • 这些也合并回
      dev

如您所见,除非合并

stable
,否则永远不会碰触
dev
进入其中。 这意味着您有两个选择:

  1. 进行快进合并
  2. dev
    真正合并到
    stable

(1) 意味着您可以避免琐碎的合并并减少最左边的一层 在图中。 但这也意味着“稳定”正在快进 跨越

dev
中的所有提交。 这意味着你无法准确地看到 历史上的哪些点被标记为“稳定”。 但是(2)解决了这个问题 问题:

git log --first-parent stable

这指向被标记为“稳定”的树,而且只有它们。

这有效。 但缺点是:

  1. 新手可能会对他们应该使用哪个分支感到困惑。 但 这可以记录在自述文件中
  2. 与 (1) 相同,以及当您 只是寻找改变本身(尽管你有
    git log --no-merges
git metadata git-notes
1个回答
0
投票

您可以使用单个分支(如

main
)并添加注释(git-notes(1)) 关于稳定点:

git switch main
git notes --ref=stable add -m1

此处的消息/内容

1
并不重要;提交已被标记 稳定随着笔记本身的存在。 你可以使用一些东西 喜欢“稳定”,但有人可能会被误导认为 将提交标记为“不稳定”也是一种选择,它是 不是。 [2]

您可以使用以下信息注释日志:

git log --notes=stable

或者列出所有稳定的提交:

ref=stable
[ "$(git notes --ref="$ref" | head -1)" ] \
    && git notes --ref="$ref" list \
    | cut -d' ' -f 2 \
    | git log --no-walk --ignore-missing --stdin

参见

与稳定分支结合

您可能仍然想要一个

stable
分支,以便人们可以轻松地 查看最后一个稳定点:

# switch from `main` (or `dev`) to `stable`
git switch stable
git notes --ref=stable add -m1
git merge --ff-only dev
© www.soinside.com 2019 - 2024. All rights reserved.