【问题标题】:Multiple commits with same tag具有相同标签的多个提交
【发布时间】:2021-02-04 08:29:16
【问题描述】:

我正在使用冻结标签之类的标签。

我已经提交了一个包含 10 个文件的提交,并对其应用了标签 T,并将标签和提交推送到远程仓库。

我随后意识到我需要修复这 10 个文件中的 1 个。所以我修改了那个文件并提交了它。有没有办法我可以推送提交并将相同的标签 T 应用于两个提交,这样如果有人稍后检查该标签 T (不管它是否处于分离 HEAD 状态),他会得到两个提交的内容(即. 9 个来自第一次提交的文件和来自新提交的更新文件)?

【问题讨论】:

    标签: git tags


    【解决方案1】:

    这样如果以后有人签出该标签 T

    签出标签意味着获得完整的存储库,因此他们将获得所有个文件。

    您可以使用tag -f to move your existing tag, push again

    再次,标记(通常)应用于提交,代表完整的存储库。
    见“Tag specific files in git”。

    【讨论】:

    • VonC,如果我做了一个只包含 1 个固定文件的新提交,并按照你的建议将标签 T 移动到这个新提交,那么标签 T 的后续签出将只包含 1 个文件,不是吗?它不会包含其他 9 个文件,不是吗?我希望标签的后续签出包含 9 个较早的文件以及 1 个固定文件。
    • @user199039 不,签出会检出存储库的所有个文件:标签不引用文件,而是提交,这反过来代表完整的存储库状态。
    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多