听说有人用两个分支(具体名字不详) 事):
stable
用于稳定提交[1]
dev
被认为准备就绪时,会合并到stable
dev
是开发发生的分支
dev
如您所见,除非合并
stable
,否则永远不会碰触 dev
进入其中。 这意味着您有两个选择:
dev
真正合并到 stable
(1) 意味着您可以避免琐碎的合并并减少最左边的一层 在图中。 但这也意味着“稳定”正在快进 跨越
dev
中的所有提交。 这意味着你无法准确地看到
历史上的哪些点被标记为“稳定”。 但是(2)解决了这个问题
问题:
git log --first-parent stable
这指向被标记为“稳定”的树,而且只有它们。
这有效。 但缺点是:
git log --no-merges
)您可以使用单个分支(如
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